diff --git a/openapi-schema-oneof-referenced-schema.json b/openapi-schema-oneof-referenced-schema.json index c1eccd7..3e7657b 100644 --- a/openapi-schema-oneof-referenced-schema.json +++ b/openapi-schema-oneof-referenced-schema.json @@ -12,7 +12,7 @@ "name": "Apache License, Version 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0" }, - "version": "v3:[pa,spar,vault,pub,quant,fi,axp,afi,npo,bpm,fpo,others],v1:[fiab]" + "version": "v3:[pa,vault,pub,quant,fi,axp,afi,npo,bpm,fpo,security-modeling,others],v1:[fiab]" }, "servers": [ { @@ -20,29 +20,31 @@ } ], "paths": { - "/analytics/engines/spar/v3/accounts/{accountPath}/returns-type": { + "/analytics/lookups/v3/accounts/{path}": { "get": { "tags": [ "Accounts" ], - "summary": "Get SPAR account returns type details", - "description": "This endpoint returns the returns type of account associated with SPAR", - "operationId": "getSPARReturnsType", + "summary": "Get accounts and sub-directories in a directory", + "description": "This endpoint looks up all ACCT and ACTM files and sub-directories in a given directory.", + "operationId": "getAccounts", "parameters": [ { - "name": "accountPath", + "name": "path", "in": "path", - "description": "URL encoded account path", + "description": "The directory to get the accounts and sub-directories.", "required": true, "schema": { "type": "string", - "description": "URL encoded account path" + "description": "The directory to get the accounts and sub-directories.", + "default": "", + "example": "Client:" } } ], "responses": { "200": { - "description": "Expected response, returns the list of return types for the account.", + "description": "Expected response, returns a list of accounts and directories", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -80,13 +82,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SPARAccountsRoot" + "$ref": "#/components/schemas/AccountDirectoriesRoot" } } } }, "400": { - "description": "Invalid account.", + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -130,7 +132,7 @@ } }, "404": { - "description": "Account not found.", + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -174,7 +176,7 @@ } }, "401": { - "description": "Missing or invalid authentication.", + "description": "Missing or invalid authentication", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -230,7 +232,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -292,7 +294,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -311,7 +313,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -334,36 +336,58 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "SPARAccountsRoot" + "response-type": "AccountDirectoriesRoot" } ] } }, - "/analytics/lookups/v3/accounts/{path}": { - "get": { + "/analytics/engines/afi/v3/optimizations": { + "post": { "tags": [ - "Accounts" + "AFI Optimizer" ], - "summary": "Get accounts and sub-directories in a directory", - "description": "This endpoint looks up all ACCT and ACTM files and sub-directories in a given directory.", - "operationId": "getAccounts", + "summary": "Create and Run AFI optimization", + "description": "This endpoint creates and runs AFI optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", + "operationId": "postAndOptimize", "parameters": [ { - "name": "path", - "in": "path", - "description": "The directory to get the accounts and sub-directories in", - "required": true, + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", "schema": { - "type": "string", - "description": "The directory to get the accounts and sub-directories in", - "default": "" + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Optimization Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AFIOptimizationParametersRoot" + } + } + } + }, "responses": { - "200": { - "description": "Expected response, returns a list of accounts and directories", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting optimization", + "schema": { + "type": "string", + "description": "URL to poll for the resulting optimization" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -400,13 +424,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AccountDirectoriesRoot" + "$ref": "#/components/schemas/CalculationInfoRoot" } } } }, - "400": { - "description": "Invalid query parameter or value provided", + "201": { + "description": "Expected response, returns json if optimization is completed in a short span.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -444,13 +468,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "404": { - "description": "Path not found", + "400": { + "description": "Invalid optimization parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -493,64 +517,8 @@ } } }, - "401": { - "description": "Missing or invalid authentication", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "404": { + "description": "One or more optimization settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -584,54 +552,17 @@ "type": "string" } } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "503": { - "description": "Request timed out. Retry the request in some time", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -648,64 +579,10 @@ } } } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "AccountDirectoriesRoot" - } - ] - } - }, - "/analytics/engines/afi/v3/optimizations": { - "post": { - "tags": [ - "AFI Optimizer" - ], - "summary": "Create and Run AFI optimization", - "description": "This endpoint creates and runs AFI optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", - "operationId": "postAndOptimize", - "parameters": [ - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" - } }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Optimization Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AFIOptimizationParametersRoot" - } - } - } - }, - "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "403": { + "description": "User is forbidden with current credentials", "headers": { - "Location": { - "description": "URL to poll for the resulting optimization", - "schema": { - "type": "string", - "description": "URL to poll for the resulting optimization" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -738,205 +615,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" - } - } } }, - "201": { - "description": "Expected response, returns json if optimization is completed in a short span.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - } - } - }, - "400": { - "description": "Invalid optimization parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "One or more optimization settings were unavailable.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -4667,74 +4349,141 @@ ] } }, - "/analytics/engines/spar/v3/benchmarks": { - "get": { + "/analytics/engines/bpm/v3/optimizations": { + "post": { "tags": [ - "Benchmarks" + "BPM Optimizer" ], - "summary": "Get SPAR benchmark details", - "description": "This endpoint returns the details of a given SPAR benchmark identifier.", - "operationId": "getSPARBenchmarkById", + "summary": "Create and Run BPM optimization", + "description": "This endpoint creates and runs BPM optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", + "operationId": "postAndOptimize", "parameters": [ { - "name": "id", - "in": "query", - "description": "Benchmark Identifier", - "required": true, + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", "schema": { - "type": "string", - "description": "Benchmark Identifier" + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Optimization Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BPMOptimizationParametersRoot" + } + } + } + }, "responses": { - "200": { - "description": "Expected response, returns the list of prefix and return types for the benchmark.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "Location": { + "description": "URL to poll for the resulting optimization", "schema": { "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" + "description": "URL to poll for the resulting optimization" } }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SPARBenchmarkRoot" - } - } - } - }, - "400": { - "description": "Invalid benchmark identifier.", - "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationInfoRoot" + } + } + } + }, + "201": { + "description": "Expected response, returns json if optimization is completed in a short span.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + } + } + }, + "400": { + "description": "Invalid optimization parameters.", + "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -4777,7 +4526,7 @@ } }, "404": { - "description": "Benchmark identifier not found.", + "description": "One or more optimization settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -4876,8 +4625,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -4914,7 +4663,7 @@ } }, "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -4930,6 +4679,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -4977,24 +4744,38 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", - "response-type": "SPARBenchmarkRoot" + "status-code": "202", + "response-type": "CalculationInfoRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] } }, - "/analytics/engines/bpm/v3/optimizations": { - "post": { + "/analytics/engines/bpm/v3/optimizations/{id}": { + "put": { "tags": [ "BPM Optimizer" ], - "summary": "Create and Run BPM optimization", - "description": "This endpoint creates and runs BPM optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", - "operationId": "postAndOptimize", + "summary": "Create or Update BPM optimization and run it.", + "description": "This endpoint updates and run the BPM optimization specified in the PUT body parameters. It also allows the creation of new BPM optimization with custom id.", + "operationId": "putAndOptimize", "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint" + } + }, { "name": "X-FactSet-Api-Long-Running-Deadline", "in": "header", @@ -5119,7 +4900,7 @@ } }, "400": { - "description": "Invalid optimization parameters.", + "description": "Invalid Optimization Parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5206,6 +4987,50 @@ } } }, + "409": { + "description": "Duplicate optimization exists with same parameters.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, "401": { "description": "Missing or invalid authentication.", "headers": { @@ -5392,16 +5217,14 @@ "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/bpm/v3/optimizations/{id}": { - "put": { + }, + "get": { "tags": [ "BPM Optimizer" ], - "summary": "Create or Update BPM optimization and run it.", - "description": "This endpoint updates and run the BPM optimization specified in the PUT body parameters. It also allows the creation of new BPM optimization with custom id.", - "operationId": "putAndOptimize", + "summary": "Get BPM optimization parameters by id", + "description": "This is the endpoint that returns the optimization parameters passed for an optimization.", + "operationId": "getOptimizationParameters", "parameters": [ { "name": "id", @@ -5412,43 +5235,31 @@ "type": "string", "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint" } - }, - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", - "schema": { - "type": "string" - } } ], - "requestBody": { - "description": "Optimization Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BPMOptimizationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response, returns the BPM optimization parameters.", "headers": { - "Location": { - "description": "URL to poll for the resulting optimization", + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", "schema": { "type": "string", - "description": "URL to poll for the resulting optimization" + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." } }, "X-DataDirect-Request-Key": { @@ -5487,13 +5298,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/BPMOptimizationParametersRoot" } } } }, - "201": { - "description": "Expected response, returns json if optimization is completed in a short span.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5531,13 +5342,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid Optimization Parameters.", + "404": { + "description": "Optimization id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5580,8 +5391,8 @@ } } }, - "404": { - "description": "One or more optimization settings were unavailable.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5596,36 +5407,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, - "409": { - "description": "Duplicate optimization exists with same parameters.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5659,17 +5445,29 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5686,9 +5484,38 @@ } } } - }, - "403": { - "description": "User is forbidden with current credentials", + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": "BPMOptimizationParametersRoot" + } + ] + }, + "delete": { + "tags": [ + "BPM Optimizer" + ], + "summary": "Cancel BPM optimization by id", + "description": "This is the endpoint to cancel a previously submitted optimization.", + "operationId": "cancelOptimizationById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint" + } + } + ], + "responses": { + "204": { + "description": "Expected response, optimization was canceled successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5724,8 +5551,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5759,10 +5586,27 @@ "type": "string" } } + }, + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", + "404": { + "description": "There was no request for the optimization identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5795,9 +5639,76 @@ "schema": { "type": "string" } + } + }, + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", "schema": { "type": "string" } @@ -5843,25 +5754,23 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "202", - "response-type": "CalculationInfoRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" + "status-code": "204", + "response-type": null } ] - }, + } + }, + "/analytics/engines/bpm/v3/optimizations/{id}/status": { "get": { "tags": [ "BPM Optimizer" ], - "summary": "Get BPM optimization parameters by id", - "description": "This is the endpoint that returns the optimization parameters passed for an optimization.", - "operationId": "getOptimizationParameters", + "summary": "Get BPM optimization status by id", + "description": "This is the endpoint to check on the progress of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.\r\nOtherwise, the optimization is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", + "operationId": "getOptimizationStatusById", "parameters": [ { "name": "id", @@ -5875,28 +5784,65 @@ } ], "responses": { - "200": { - "description": "Expected response, returns the BPM optimization parameters.", + "201": { + "description": "Expected response once optimization is completed, returns JSON.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + "description": "FactSet's request key header." } }, - "Content-Type": { - "description": "Standard HTTP header.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { "type": "string", - "description": "Standard HTTP header." + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + } + } + }, + "202": { + "description": "Expected response returned if the optimization is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", "schema": { "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." } }, "X-DataDirect-Request-Key": { @@ -5931,13 +5877,6 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BPMOptimizationParametersRoot" - } - } } }, "400": { @@ -5985,7 +5924,7 @@ } }, "404": { - "description": "Optimization id not found", + "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6123,37 +6062,64 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", - "response-type": "BPMOptimizationParametersRoot" + "status-code": "201", + "response-type": "ObjectRoot" + }, + { + "status-code": "202", + "response-type": null } ] - }, - "delete": { + } + }, + "/analytics/engines/bpm/v3/optimizations/{id}/result": { + "get": { "tags": [ "BPM Optimizer" ], - "summary": "Cancel BPM optimization by id", - "description": "This is the endpoint to cancel a previously submitted optimization.", - "operationId": "cancelOptimizationById", + "summary": "Get BPM optimization result by id", + "description": "This is the endpoint to get the result of a previously requested optimization.", + "operationId": "getOptimizationResult", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint", + "description": "from url, provided from the location header in the Get BPM optimization status by id endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint" + "description": "from url, provided from the location header in the Get BPM optimization status by id endpoint" } } ], "responses": { - "204": { - "description": "Expected response, optimization was canceled successfully.", + "200": { + "description": "Expected response once optimization is completed, returns JSON.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -6186,6 +6152,13 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + } } }, "400": { @@ -6225,25 +6198,15 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "There was no request for the optimization identifier provided, or the request was already canceled for the provided identifier.", + "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6279,20 +6242,10 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, @@ -6353,7 +6306,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -6394,35 +6347,57 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "204", - "response-type": null + "status-code": "200", + "response-type": "ObjectRoot" } ] } }, - "/analytics/engines/bpm/v3/optimizations/{id}/status": { + "/analytics/engines/pa/v3/columns": { "get": { "tags": [ - "BPM Optimizer" + "Columns" ], - "summary": "Get BPM optimization status by id", - "description": "This is the endpoint to check on the progress of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.\r\nOtherwise, the optimization is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", - "operationId": "getOptimizationStatusById", + "summary": "Get PA columns", + "description": "This endpoint lists all the PA columns that can be applied to a calculation.", + "operationId": "getPAColumns", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint", - "required": true, + "name": "name", + "in": "query", + "description": "Column name", "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint" + "description": "Column name", + "default": "", + "example": "Security Name" + } + }, + { + "name": "category", + "in": "query", + "description": "Column category", + "schema": { + "type": "string", + "description": "Column category", + "default": "" + } + }, + { + "name": "directory", + "in": "query", + "description": "The directory to get the columns in", + "schema": { + "type": "string", + "description": "The directory to get the columns in", + "default": "", + "example": "Client" } } ], "responses": { - "201": { - "description": "Expected response once optimization is completed, returns JSON.", + "200": { + "description": "Expected response, returns a list of PA columns", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6438,6 +6413,13 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "Age": { + "description": "Standard HTTP header. Header will specify the age of columns list cached response.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify the age of columns list cached response." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -6460,28 +6442,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ColumnSummaryRoot" } } } }, - "202": { - "description": "Expected response returned if the optimization is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "401": { + "description": "Missing or invalid authentication.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -6495,29 +6463,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "400": { - "description": "Invalid identifier provided.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6551,17 +6501,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6595,36 +6538,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -6640,20 +6557,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -6699,64 +6604,40 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "201", - "response-type": "ObjectRoot" - }, - { - "status-code": "202", - "response-type": null + "status-code": "200", + "response-type": "ColumnSummaryRoot" } ] } }, - "/analytics/engines/bpm/v3/optimizations/{id}/result": { + "/analytics/engines/pa/v3/columns/{id}": { "get": { "tags": [ - "BPM Optimizer" + "Columns" ], - "summary": "Get BPM optimization result by id", - "description": "This is the endpoint to get the result of a previously requested optimization.", - "operationId": "getOptimizationResult", + "summary": "Get PA column settings", + "description": "This endpoint returns the default settings of a PA column.", + "operationId": "getPAColumnById", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Get BPM optimization status by id endpoint", + "description": "Unique identifier for a column", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get BPM optimization status by id endpoint" + "description": "Unique identifier for a column", + "example": "2DBD317E3C235BC96E2FF8CA36CE036AF2F7F55525479B524AE78FD7D6BBC4A7" } } ], "responses": { "200": { - "description": "Expected response once optimization is completed, returns JSON.", + "description": "Expected response, returns settings of a PA column.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -6771,6 +6652,13 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "Age": { + "description": "Standard HTTP header. Header will specify the age of columns list cached response.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify the age of columns list cached response." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -6793,13 +6681,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ColumnRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid column Id.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6843,7 +6731,7 @@ } }, "404": { - "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", + "description": "Column not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6942,8 +6830,70 @@ } } }, + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -6985,54 +6935,22 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ObjectRoot" + "response-type": "ColumnRoot" } ] } }, - "/analytics/engines/pa/v3/columns": { + "/analytics/engines/pa/v3/columnstatistics": { "get": { "tags": [ - "Columns" - ], - "summary": "Get PA columns", - "description": "This endpoint lists all the PA columns that can be applied to a calculation.", - "operationId": "getPAColumns", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "Column name", - "schema": { - "type": "string", - "description": "Column name", - "default": "" - } - }, - { - "name": "category", - "in": "query", - "description": "Column category", - "schema": { - "type": "string", - "description": "Column category", - "default": "" - } - }, - { - "name": "directory", - "in": "query", - "description": "The directory to get the columns in", - "schema": { - "type": "string", - "description": "The directory to get the columns in", - "default": "" - } - } + "ColumnStatistics" ], + "summary": "Get PA column statistics", + "description": "This endpoint lists all the column statistics that can be applied to a PA column.", + "operationId": "getPAColumnStatistics", "responses": { "200": { - "description": "Expected response, returns a list of PA columns", + "description": "Expected response, returns a list of PA column statistics", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7048,13 +6966,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Age": { - "description": "Standard HTTP header. Header will specify the age of columns list cached response.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify the age of columns list cached response." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -7077,7 +6988,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ColumnSummaryRoot" + "$ref": "#/components/schemas/ColumnStatisticRoot" } } } @@ -7243,34 +7154,35 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ColumnSummaryRoot" + "response-type": "ColumnStatisticRoot" } ] } }, - "/analytics/engines/pa/v3/columns/{id}": { + "/analytics/engines/pa/v3/components": { "get": { "tags": [ - "Columns" + "Components" ], - "summary": "Get PA column settings", - "description": "This endpoint returns the default settings of a PA column.", - "operationId": "getPAColumnById", + "summary": "Get PA components", + "description": "This endpoint returns the list of PA components in a given PA document.", + "operationId": "getPAComponents", "parameters": [ { - "name": "id", - "in": "path", - "description": "Unique identifier for a column", + "name": "document", + "in": "query", + "description": "Document Name", "required": true, "schema": { "type": "string", - "description": "Unique identifier for a column" + "description": "Document Name", + "example": "PA3_DOCUMENTS:DEFAULT" } } ], "responses": { "200": { - "description": "Expected response, returns settings of a PA column.", + "description": "Expected response, returns a list of PA components.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7286,13 +7198,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Age": { - "description": "Standard HTTP header. Header will specify the age of columns list cached response.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify the age of columns list cached response." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -7315,13 +7220,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ColumnRoot" + "$ref": "#/components/schemas/ComponentSummaryRoot" } } } }, "400": { - "description": "Invalid column Id.", + "description": "Invalid query parameter provided or Invalid PA document name.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7365,7 +7270,7 @@ } }, "404": { - "description": "Column not found.", + "description": "Document not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7569,22 +7474,35 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ColumnRoot" + "response-type": "ComponentSummaryRoot" } ] } }, - "/analytics/engines/pa/v3/columnstatistics": { + "/analytics/engines/pa/v3/components/{id}": { "get": { "tags": [ - "ColumnStatistics" + "Components" + ], + "summary": "Get PA component by id", + "description": "This endpoint returns the default settings of a PA component.", + "operationId": "getPAComponentById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Unique identifier for a PA component", + "required": true, + "schema": { + "type": "string", + "description": "Unique identifier for a PA component", + "example": "801B800245E468A52AEBEC4BE31CFF5AF82F371DAEF5F158AC2E98C2FA324B46" + } + } ], - "summary": "Get PA column statistics", - "description": "This endpoint lists all the column statistics that can be applied to a PA column.", - "operationId": "getPAColumnStatistics", "responses": { "200": { - "description": "Expected response, returns a list of PA column statistics", + "description": "Expected response, returns the default settings of a PA component.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7622,7 +7540,95 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ColumnStatisticRoot" + "$ref": "#/components/schemas/PAComponentRoot" + } + } + } + }, + "400": { + "description": "Invalid PA component id.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "404": { + "description": "Component not found.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -7746,7 +7752,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -7788,19 +7794,19 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ColumnStatisticRoot" + "response-type": "PAComponentRoot" } ] } }, - "/analytics/engines/pa/v3/components": { + "/analytics/engines/vault/v3/components": { "get": { "tags": [ "Components" ], - "summary": "Get PA components", - "description": "This endpoint returns the list of PA components in a given PA document.", - "operationId": "getPAComponents", + "summary": "Get Vault components", + "description": "This endpoint returns the list of Vault components in a given Vault document.", + "operationId": "getVaultComponents", "parameters": [ { "name": "document", @@ -7815,7 +7821,7 @@ ], "responses": { "200": { - "description": "Expected response, returns a list of PA components.", + "description": "Expected response, returns a list of Vault components.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7859,7 +7865,7 @@ } }, "400": { - "description": "Invalid query parameter provided or Invalid PA document name.", + "description": "Invalid query parameter provided or invalid Vault document name.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7903,7 +7909,7 @@ } }, "404": { - "description": "Document not found.", + "description": "Vault Document not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8112,29 +8118,29 @@ ] } }, - "/analytics/engines/pa/v3/components/{id}": { + "/analytics/engines/vault/v3/components/{id}": { "get": { "tags": [ "Components" ], - "summary": "Get PA component by id", - "description": "This endpoint returns the default settings of a PA component.", - "operationId": "getPAComponentById", + "summary": "Get Vault component by id", + "description": "This endpoint returns the default settings of a Vault component.", + "operationId": "getVaultComponentById", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for a PA component", + "description": "Unique identifier for a vault component", "required": true, "schema": { "type": "string", - "description": "Unique identifier for a PA component" + "description": "Unique identifier for a vault component" } } ], "responses": { "200": { - "description": "Expected response, returns the default settings of a PA component.", + "description": "Expected response, returns the default settings of a Vault component.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8172,13 +8178,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PAComponentRoot" + "$ref": "#/components/schemas/VaultComponentRoot" } } } }, "400": { - "description": "Invalid PA component id.", + "description": "Invalid Vault component id.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8222,7 +8228,7 @@ } }, "404": { - "description": "Component not found.", + "description": "Vault Component not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8426,34 +8432,34 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "PAComponentRoot" + "response-type": "VaultComponentRoot" } ] } }, - "/analytics/engines/spar/v3/components": { + "/analytics/engines/vault/v3/configurations": { "get": { "tags": [ - "Components" + "Configurations" ], - "summary": "Get SPAR components", - "description": "This endpoint returns the list of SPAR components in a given SPAR document.", - "operationId": "getSPARComponents", + "summary": "Get Vault configurations", + "description": "This endpoint returns all the Vault configurations saved in the provided account.", + "operationId": "getVaultConfigurations", "parameters": [ { - "name": "document", + "name": "account", "in": "query", - "description": "Document Name", + "description": "Required account query parameter to filter configurations for a specific account", "required": true, "schema": { "type": "string", - "description": "Document Name" + "description": "Required account query parameter to filter configurations for a specific account" } } ], "responses": { "200": { - "description": "Expected response, returns a list of SPAR components.", + "description": "Expected response, returns a dictionary of Vault configurations.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8491,13 +8497,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ComponentSummaryRoot" + "$ref": "#/components/schemas/VaultConfigurationSummaryRoot" } } } }, "400": { - "description": "Invalid query parameter provided or Invalid SPAR document name.", + "description": "Invalid account.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8541,7 +8547,7 @@ } }, "404": { - "description": "SPAR Document not found.", + "description": "Account not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8745,34 +8751,34 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ComponentSummaryRoot" + "response-type": "VaultConfigurationSummaryRoot" } ] } }, - "/analytics/engines/vault/v3/components": { + "/analytics/engines/vault/v3/configurations/{id}": { "get": { "tags": [ - "Components" + "Configurations" ], - "summary": "Get Vault components", - "description": "This endpoint returns the list of Vault components in a given Vault document.", - "operationId": "getVaultComponents", + "summary": "Get Vault configuration by id", + "description": "This endpoint returns details for a Vault configuration as well as a list of accounts it is used in.", + "operationId": "getVaultConfigurationById", "parameters": [ { - "name": "document", - "in": "query", - "description": "Document Name", + "name": "id", + "in": "path", + "description": "Vault configuration id to get the details of", "required": true, "schema": { "type": "string", - "description": "Document Name" + "description": "Vault configuration id to get the details of" } } ], "responses": { "200": { - "description": "Expected response, returns a list of Vault components.", + "description": "Expected response, returns details for a Vault configuration.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8810,13 +8816,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ComponentSummaryRoot" + "$ref": "#/components/schemas/VaultConfigurationRoot" } } } }, "400": { - "description": "Invalid query parameter provided or invalid Vault document name.", + "description": "Invalid vault configuration code.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8860,7 +8866,7 @@ } }, "404": { - "description": "Vault Document not found.", + "description": "Vault configuration id not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9064,122 +9070,22 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ComponentSummaryRoot" + "response-type": "VaultConfigurationRoot" } ] } }, - "/analytics/engines/vault/v3/components/{id}": { + "/analytics/lookups/v3/currencies": { "get": { "tags": [ - "Components" - ], - "summary": "Get Vault component by id", - "description": "This endpoint returns the default settings of a Vault component.", - "operationId": "getVaultComponentById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Unique identifier for a vault component", - "required": true, - "schema": { - "type": "string", - "description": "Unique identifier for a vault component" - } - } + "Currencies" ], + "summary": "Get currencies", + "description": "This endpoint lists all the currencies that can be applied to any calculation.", + "operationId": "getCurrencies", "responses": { "200": { - "description": "Expected response, returns the default settings of a Vault component.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VaultComponentRoot" - } - } - } - }, - "400": { - "description": "Invalid Vault component id.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "Vault Component not found.", + "description": "Expected response, returns a list of currencies.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9217,7 +9123,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CurrencyRoot" } } } @@ -9383,34 +9289,67 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "VaultComponentRoot" + "response-type": "CurrencyRoot" } ] } }, - "/analytics/engines/vault/v3/configurations": { + "/analytics/engines/pa/v3/dates": { "get": { "tags": [ - "Configurations" + "Dates" ], - "summary": "Get Vault configurations", - "description": "This endpoint returns all the Vault configurations saved in the provided account.", - "operationId": "getVaultConfigurations", + "summary": "Convert PA dates to absolute format", + "description": "This endpoint converts the given start and end dates in FactSet date format to yyyymmdd format for a PA calculation. For more information on FactSet date format, please refer to the PA Engine API documentation under the 'API Documentation' section in the developer portal.", + "operationId": "convertPADatesToAbsoluteFormat", "parameters": [ + { + "name": "startdate", + "in": "query", + "description": "Start Date", + "schema": { + "type": "string", + "description": "Start Date", + "example": "-3AY" + } + }, + { + "name": "enddate", + "in": "query", + "description": "End Date", + "required": true, + "schema": { + "type": "string", + "description": "End Date", + "example": "-1AY" + } + }, + { + "name": "componentid", + "in": "query", + "description": "Component Id", + "required": true, + "schema": { + "type": "string", + "description": "Component Id", + "example": "801B800245E468A52AEBEC4BE31CFF5AF82F371DAEF5F158AC2E98C2FA324B46" + } + }, { "name": "account", "in": "query", - "description": "Required account query parameter to filter configurations for a specific account", + "description": "Account ( Should be in Format - AccountName.ACCT )", "required": true, "schema": { "type": "string", - "description": "Required account query parameter to filter configurations for a specific account" + "description": "Account ( Should be in Format - AccountName.ACCT )", + "example": "Account Name" } } ], "responses": { "200": { - "description": "Expected response, returns a dictionary of Vault configurations.", + "description": "Expected response, returns the converted dates in yyyymmdd format.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9448,13 +9387,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VaultConfigurationSummaryRoot" + "$ref": "#/components/schemas/DateParametersSummaryRoot" } } } }, "400": { - "description": "Invalid account.", + "description": "Invalid query parameter or value is provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9498,7 +9437,7 @@ } }, "404": { - "description": "Account not found.", + "description": "Document or account not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9702,34 +9641,63 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "VaultConfigurationSummaryRoot" + "response-type": "DateParametersSummaryRoot" } ] } }, - "/analytics/engines/vault/v3/configurations/{id}": { + "/analytics/engines/vault/v3/dates": { "get": { "tags": [ - "Configurations" + "Dates" ], - "summary": "Get Vault configuration by id", - "description": "This endpoint returns details for a Vault configuration as well as a list of accounts it is used in.", - "operationId": "getVaultConfigurationById", + "summary": "Convert Vault dates to absolute format", + "description": "This endpoint converts the given start and end dates in FactSet date format to yyyymmdd format for a Vault calculation. For more information on FactSet date format, please refer to the Vault API documentation under the 'API Documentation' section in the developer portal.", + "operationId": "convertVaultDatesToAbsoluteFormat", "parameters": [ { - "name": "id", - "in": "path", - "description": "Vault configuration id to get the details of", + "name": "startdate", + "in": "query", + "description": "Start Date", + "schema": { + "type": "string", + "description": "Start Date" + } + }, + { + "name": "enddate", + "in": "query", + "description": "End Date", "required": true, "schema": { "type": "string", - "description": "Vault configuration id to get the details of" + "description": "End Date" + } + }, + { + "name": "componentid", + "in": "query", + "description": "Vault Component Id", + "required": true, + "schema": { + "type": "string", + "description": "Vault Component Id" + } + }, + { + "name": "account", + "in": "query", + "description": "Account", + "required": true, + "schema": { + "type": "string", + "description": "Account" } } ], "responses": { "200": { - "description": "Expected response, returns details for a Vault configuration.", + "description": "Expected response, returns the converted dates in yyyymmdd format.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9767,13 +9735,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VaultConfigurationRoot" + "$ref": "#/components/schemas/DateParametersSummaryRoot" } } } }, "400": { - "description": "Invalid vault configuration code.", + "description": "Invalid query parameter or value is provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9817,7 +9785,7 @@ } }, "404": { - "description": "Vault configuration id not found.", + "description": "vault Document or account not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10021,22 +9989,31 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "VaultConfigurationRoot" + "response-type": "DateParametersSummaryRoot" } ] } }, - "/analytics/lookups/v3/currencies": { + "/analytics/engines/fi/v3/discount-curves": { "get": { "tags": [ - "Currencies" + "DiscountCurves" + ], + "summary": "Get Discount Curves", + "description": "This endpoint lists all the discount curves that can be applied to a FI calculation.", + "operationId": "getAllFIDiscountCurves", + "parameters": [ + { + "name": "currency", + "in": "query", + "schema": { + "type": "string" + } + } ], - "summary": "Get currencies", - "description": "This endpoint lists all the currencies that can be applied to any calculation.", - "operationId": "getCurrencies", "responses": { "200": { - "description": "Expected response, returns a list of currencies.", + "description": "Expected response, returns a list of FI discount curves.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10074,7 +10051,51 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CurrencyRoot" + "$ref": "#/components/schemas/FIDiscountCurveInfoRoot" + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -10240,63 +10261,36 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CurrencyRoot" + "response-type": "FIDiscountCurveInfoRoot" } ] } }, - "/analytics/engines/pa/v3/dates": { + "/analytics/engines/pa/v3/documents/{path}": { "get": { "tags": [ - "Dates" + "Documents" ], - "summary": "Convert PA dates to absolute format", - "description": "This endpoint converts the given start and end dates in FactSet date format to yyyymmdd format for a PA calculation. For more information on FactSet date format, please refer to the PA Engine API documentation under the 'API Documentation' section in the developer portal.", - "operationId": "convertPADatesToAbsoluteFormat", + "summary": "Get PA3 documents and sub-directories in a directory", + "description": "This endpoint looks up all PA3 documents and sub-directories in a given directory.", + "operationId": "getPA3Documents", "parameters": [ { - "name": "startdate", - "in": "query", - "description": "Start Date", - "schema": { - "type": "string", - "description": "Start Date" - } - }, - { - "name": "enddate", - "in": "query", - "description": "End Date", - "required": true, - "schema": { - "type": "string", - "description": "End Date" - } - }, - { - "name": "componentid", - "in": "query", - "description": "Component Id", - "required": true, - "schema": { - "type": "string", - "description": "Component Id" - } - }, - { - "name": "account", - "in": "query", - "description": "Account", + "name": "path", + "in": "path", + "description": "The directory to get the documents and sub-directories in", "required": true, "schema": { "type": "string", - "description": "Account" + "description": "The directory to get the documents and sub-directories in", + "default": "", + "example": "Client:" } } ], "responses": { "200": { - "description": "Expected response, returns the converted dates in yyyymmdd format.", + "description": "Expected response, returns a list of PA3 documents and directories", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10334,13 +10328,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DateParametersSummaryRoot" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, "400": { - "description": "Invalid query parameter or value is provided.", + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10384,7 +10378,7 @@ } }, "404": { - "description": "Document or account not found.", + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10428,7 +10422,7 @@ } }, "401": { - "description": "Missing or invalid authentication.", + "description": "Missing or invalid authentication", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10484,7 +10478,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10546,7 +10540,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -10565,7 +10559,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10588,63 +10582,35 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DateParametersSummaryRoot" + "response-type": "DocumentDirectoriesRoot" } ] } }, - "/analytics/engines/vault/v3/dates": { + "/analytics/engines/vault/v3/documents/{path}": { "get": { "tags": [ - "Dates" + "Documents" ], - "summary": "Convert Vault dates to absolute format", - "description": "This endpoint converts the given start and end dates in FactSet date format to yyyymmdd format for a Vault calculation. For more information on FactSet date format, please refer to the Vault API documentation under the 'API Documentation' section in the developer portal.", - "operationId": "convertVaultDatesToAbsoluteFormat", + "summary": "Get Vault documents and sub-directories in a directory", + "description": "This endpoint looks up all Vault documents and sub-directories in a given directory.", + "operationId": "getVaultDocuments", "parameters": [ { - "name": "startdate", - "in": "query", - "description": "Start Date", - "schema": { - "type": "string", - "description": "Start Date" - } - }, - { - "name": "enddate", - "in": "query", - "description": "End Date", - "required": true, - "schema": { - "type": "string", - "description": "End Date" - } - }, - { - "name": "componentid", - "in": "query", - "description": "Vault Component Id", - "required": true, - "schema": { - "type": "string", - "description": "Vault Component Id" - } - }, - { - "name": "account", - "in": "query", - "description": "Account", + "name": "path", + "in": "path", + "description": "The directory to get the documents in", "required": true, "schema": { "type": "string", - "description": "Account" + "description": "The directory to get the documents in", + "default": "" } } ], "responses": { "200": { - "description": "Expected response, returns the converted dates in yyyymmdd format.", + "description": "Expected response, returns a list of Vault documents and directories", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10682,13 +10648,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DateParametersSummaryRoot" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, "400": { - "description": "Invalid query parameter or value is provided.", + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10732,7 +10698,7 @@ } }, "404": { - "description": "vault Document or account not found.", + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10776,7 +10742,7 @@ } }, "401": { - "description": "Missing or invalid authentication.", + "description": "Missing or invalid authentication", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10832,7 +10798,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10894,7 +10860,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -10913,7 +10879,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10936,31 +10902,35 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DateParametersSummaryRoot" + "response-type": "DocumentDirectoriesRoot" } ] } }, - "/analytics/engines/fi/v3/discount-curves": { + "/analytics/engines/pub/v3/documents/{path}": { "get": { "tags": [ - "DiscountCurves" + "Documents" ], - "summary": "Get Discount Curves", - "description": "This endpoint lists all the discount curves that can be applied to a FI calculation.", - "operationId": "getAllFIDiscountCurves", + "summary": "Gets Publisher documents and sub-directories in a directory", + "description": "This endpoint looks up all Publisher documents and sub-directories in a given directory.", + "operationId": "getPubDocuments", "parameters": [ { - "name": "currency", - "in": "query", + "name": "path", + "in": "path", + "description": "The directory to get the documents in", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "The directory to get the documents in", + "default": "" } } ], "responses": { "200": { - "description": "Expected response, returns a list of FI discount curves.", + "description": "Expected response, returns a list of Publisher documents and directories", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10998,13 +10968,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FIDiscountCurveInfoRoot" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, - "404": { - "description": "Not found", + "400": { + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11047,64 +11017,8 @@ } } }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "404": { + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11138,35 +11052,17 @@ "type": "string" } } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + }, + "content": { + "application/json": { "schema": { - "type": "string" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "401": { + "description": "Missing or invalid authentication", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11184,59 +11080,8 @@ } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "FIDiscountCurveInfoRoot" - } - ] - } - }, - "/analytics/engines/pa/v3/documents/{path}": { - "get": { - "tags": [ - "Documents" - ], - "summary": "Get PA3 documents and sub-directories in a directory", - "description": "This endpoint looks up all PA3 documents and sub-directories in a given directory.", - "operationId": "getPA3Documents", - "parameters": [ - { - "name": "path", - "in": "path", - "description": "The directory to get the documents and sub-directories in", - "required": true, - "schema": { - "type": "string", - "description": "The directory to get the documents and sub-directories in", - "default": "" - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns a list of PA3 documents and directories", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11270,17 +11115,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" - } - } } }, - "400": { - "description": "Invalid query parameter or value provided", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11314,17 +11152,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Path not found", + "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.", @@ -11340,35 +11171,35 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", + } + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "type": "string" + "type": "string", + "description": "FactSet's request key header." } }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication", + "503": { + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11385,10 +11216,46 @@ } } } - }, - "403": { - "description": "User is forbidden with current credentials", + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": "DocumentDirectoriesRoot" + } + ] + } + }, + "/analytics/engines/fiab/v1/calculations": { + "post": { + "tags": [ + "FIAB Calculations" + ], + "summary": "Run FIAB calculation", + "description": "This endpoint creates a new FIAB calculation.\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*\tAny settings in POST body will act as a one-time override over the settings saved in the FIAB template.", + "operationId": "runCalculation", + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FIABCalculationParameters" + } + } + } + }, + "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.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11403,6 +11270,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", + "schema": { + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -11423,9 +11304,16 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "400": { + "description": "Invalid POST body.", "headers": { + "Location": { + "description": "URL to check status of the request.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11440,6 +11328,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", + "schema": { + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -11460,9 +11362,16 @@ } } }, - "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "401": { + "description": "Missing or invalid authentication.", "headers": { + "Location": { + "description": "URL to check status of the request.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11477,17 +11386,32 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", "schema": { - "type": "string" + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." } } } }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "403": { + "description": "User is forbidden with current credentials.", "headers": { + "Location": { + "description": "URL to check status of the request.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11501,12 +11425,51 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", + "schema": { + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "503": { - "description": "Request timed out. Retry the request in some time", + "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.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11520,56 +11483,19 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "DocumentDirectoriesRoot" - } - ] - } - }, - "/analytics/engines/vault/v3/documents/{path}": { - "get": { - "tags": [ - "Documents" - ], - "summary": "Get Vault documents and sub-directories in a directory", - "description": "This endpoint looks up all Vault documents and sub-directories in a given directory.", - "operationId": "getVaultDocuments", - "parameters": [ - { - "name": "path", - "in": "path", - "description": "The directory to get the documents in", - "required": true, - "schema": { - "type": "string", - "description": "The directory to get the documents in", - "default": "" - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns a list of Vault documents and directories", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", "schema": { "type": "string", - "description": "FactSet's request key header." + "description": "Maximum FIAB request limit." } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", "schema": { "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "description": "Number of FIAB requests remaining till request limit reached." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -11590,18 +11516,18 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" - } - } } }, - "400": { - "description": "Invalid query parameter or value provided", + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel FIAB Calculation endpoint or wait for older requests to finish / expire.", "headers": { + "Location": { + "description": "URL to check status of the request.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11616,6 +11542,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", + "schema": { + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -11633,18 +11573,114 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } - }, - "content": { - "application/json": { + } + }, + "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.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "URL to check status of the request." + } + }, + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", + "schema": { + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." } } } }, - "404": { - "description": "Path not found", + "503": { + "description": "Request timed out. Retry the request in sometime.", + "headers": { + "Location": { + "description": "URL to check status of the request.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", + "schema": { + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." + } + } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "202", + "response-type": null + } + ] + }, + "get": { + "tags": [ + "FIAB Calculations" + ], + "summary": "Get all FIAB calculation summaries", + "description": "This endpoints returns all FIAB calculation requests.", + "operationId": "getCalculationStatusSummaries", + "responses": { + "200": { + "description": "List of active FIAB calculation requests.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11682,13 +11718,16 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/FIABCalculationStatusSummary" + } } } } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11707,7 +11746,7 @@ } }, "403": { - "description": "User is forbidden with current credentials", + "description": "User is forbidden with current credentials.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11744,7 +11783,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11806,7 +11845,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -11825,7 +11864,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11848,36 +11887,56 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DocumentDirectoriesRoot" + "response-type": null } ] } }, - "/analytics/engines/spar/v3/documents/{path}": { + "/analytics/engines/fiab/v1/calculations/{id}": { "get": { "tags": [ - "Documents" + "FIAB Calculations" ], - "summary": "Gets SPAR3 documents and sub-directories in a directory", - "description": "This endpoint looks up all SPAR3 documents and sub-directories in a given directory.", - "operationId": "getSPAR3Documents", + "summary": "Get FIAB calculation by id", + "description": "This is the endpoint to check on the progress of a previously requested calculation.", + "operationId": "getCalculationById", "parameters": [ { - "name": "path", + "name": "id", "in": "path", - "description": "The directory to get the documents in", + "description": "from url, provided from the location header in the Run FIAB Calculation endpoint", "required": true, "schema": { "type": "string", - "description": "The directory to get the documents in", - "default": "" + "description": "from url, provided from the location header in the Run FIAB Calculation endpoint" } } ], "responses": { "200": { - "description": "Expected response, returns a list of SPAR3 documents and directories", + "description": "Expected response, returns status information of the entire calculation if it is complete.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11914,14 +11973,21 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" + "$ref": "#/components/schemas/FIABCalculationStatus" } } } }, - "400": { - "description": "Invalid query parameter or value provided", + "202": { + "description": "Expected response, returns status information of the entire calculation if it is not complete.", "headers": { + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11958,13 +12024,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/FIABCalculationStatus" } } } }, - "404": { - "description": "Path not found", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11998,17 +12064,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12063,8 +12122,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12100,31 +12159,6 @@ } } }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", "headers": { @@ -12145,7 +12179,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12168,36 +12202,62 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DocumentDirectoriesRoot" - } - ] + "response-type": "FIABCalculationStatus" + }, + { + "status-code": "202", + "response-type": "FIABCalculationStatus" + } + ] } }, - "/analytics/engines/pub/v3/documents/{path}": { - "get": { + "/analytics/engines/fi/v3/calculations": { + "post": { "tags": [ - "Documents" + "FICalculations" ], - "summary": "Gets Publisher documents and sub-directories in a directory", - "description": "This endpoint looks up all Publisher documents and sub-directories in a given directory.", - "operationId": "getPubDocuments", + "summary": "Create and Run FI calculation", + "description": "This endpoint creates and runs a new FI calculation specified in the post body.", + "operationId": "postAndCalculate", "parameters": [ { - "name": "path", - "in": "path", - "description": "The directory to get the documents in", - "required": true, + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", "schema": { - "type": "string", - "description": "The directory to get the documents in", - "default": "" + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FICalculationParametersRoot" + } + } + } + }, "responses": { - "200": { - "description": "Expected response, returns a list of Publisher documents and directories", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting calculation", + "schema": { + "type": "string", + "description": "URL to poll for the resulting calculation" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12212,6 +12272,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -12234,13 +12308,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" + "$ref": "#/components/schemas/CalculationInfoRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationInfoRoot" } } } }, - "400": { - "description": "Invalid query parameter or value provided", + "201": { + "description": "Expected response if calculation is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12256,6 +12335,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -12278,13 +12371,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "404": { - "description": "Path not found", + "400": { + "description": "Invalid calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12300,6 +12398,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -12324,11 +12436,16 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, - "401": { - "description": "Missing or invalid authentication", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12343,24 +12460,19 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", "schema": { "type": "string", - "description": "FactSet's request key header." + "description": "Maximum FI request limit." } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", "schema": { "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "description": "Number of FI requests remaining till request limit reached." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -12381,10 +12493,22 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12400,28 +12524,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", "schema": { - "type": "string" + "type": "string", + "description": "Maximum FI request limit." } }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", "schema": { - "type": "string" + "type": "string", + "description": "Number of FI requests remaining till request limit reached." } } } }, - "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12437,91 +12557,43 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", "schema": { - "type": "string" + "type": "string", + "description": "Maximum FI request limit." } - } - } - }, - "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.", + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", "schema": { "type": "string", - "description": "FactSet's request key header." + "description": "Number of FI requests remaining till request limit reached." } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "type": "string" } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in some time", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", "schema": { - "type": "string", - "description": "FactSet's request key header." + "type": "string" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "type": "string" } } } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "DocumentDirectoriesRoot" - } - ] - } - }, - "/analytics/engines/fiab/v1/calculations": { - "post": { - "tags": [ - "FIAB Calculations" - ], - "summary": "Run FIAB calculation", - "description": "This endpoint creates a new FIAB calculation.\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*\tAny settings in POST body will act as a one-time override over the settings saved in the FIAB template.", - "operationId": "runCalculation", - "requestBody": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FIABCalculationParameters" - } - } - } - }, - "responses": { - "202": { - "description": "Expected response, contains the URL in the Location header to check the status of the calculation.", + }, + "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.", - "schema": { - "type": "string", - "description": "URL to check status of the request." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12537,17 +12609,17 @@ } }, "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", + "description": "Maximum FI request limit.", "schema": { "type": "string", - "description": "Maximum FIAB request limit." + "description": "Maximum FI request limit." } }, "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", + "description": "Number of FI requests remaining till request limit reached.", "schema": { "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." + "description": "Number of FI requests remaining till request limit reached." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -12570,16 +12642,9 @@ } } }, - "400": { - "description": "Invalid POST body.", + "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.", - "schema": { - "type": "string", - "description": "URL to check status of the request." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12595,17 +12660,17 @@ } }, "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", + "description": "Maximum FI request limit.", "schema": { "type": "string", - "description": "Maximum FIAB request limit." + "description": "Maximum FI request limit." } }, "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", + "description": "Number of FI requests remaining till request limit reached.", "schema": { "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." + "description": "Number of FI requests remaining till request limit reached." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -12625,19 +12690,18 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, - "401": { - "description": "Missing or invalid authentication.", + "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.", - "schema": { - "type": "string", - "description": "URL to check status of the request." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12653,31 +12717,24 @@ } }, "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", + "description": "Maximum FI request limit.", "schema": { "type": "string", - "description": "Maximum FIAB request limit." + "description": "Maximum FI request limit." } }, "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", + "description": "Number of FI requests remaining till request limit reached.", "schema": { "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." + "description": "Number of FI requests remaining till request limit reached." } } } }, - "403": { - "description": "User is forbidden with current credentials.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { - "Location": { - "description": "URL to check status of the request.", - "schema": { - "type": "string", - "description": "URL to check status of the request." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12693,47 +12750,90 @@ } }, "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", + "description": "Maximum FI request limit.", "schema": { "type": "string", - "description": "Maximum FIAB request limit." + "description": "Maximum FI request limit." } }, "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", + "description": "Number of FI requests remaining till request limit reached.", "schema": { "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" + "description": "Number of FI requests remaining till request limit reached." } } } + } + }, + "x-are-multiple-success-responses-different": true, + "x-success-response-types": [ + { + "status-code": "202", + "response-type": "CalculationInfoRoot" }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + { + "status-code": "201", + "response-type": "ObjectRoot" + } + ] + } + }, + "/analytics/engines/fi/v3/calculations/{id}": { + "put": { + "tags": [ + "FICalculations" + ], + "summary": "Create or Update FI calculation and run it.", + "description": "This endpoint updates and run the FI optimization specified in the PUT body parameters. It also allows the creation of new FI optimization with custom id.", + "operationId": "putAndCalculate", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" + } + }, + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", + "schema": { + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FICalculationParametersRoot" + } + } + } + }, + "responses": { + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { "Location": { - "description": "URL to check status of the request.", + "description": "URL to poll for the resulting calculation", "schema": { "type": "string", - "description": "URL to check status of the request." + "description": "URL to poll for the resulting calculation" } }, "X-DataDirect-Request-Key": { @@ -12750,20 +12850,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", - "schema": { - "type": "string", - "description": "Maximum FIAB request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -12782,18 +12868,23 @@ "type": "string" } } - } - }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel FIAB Calculation endpoint or wait for older requests to finish / expire.", - "headers": { - "Location": { - "description": "URL to check status of the request.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "URL to check status of the request." + "$ref": "#/components/schemas/CalculationInfoRoot" } }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationInfoRoot" + } + } + } + }, + "201": { + "description": "Expected response if calculation is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12808,20 +12899,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", - "schema": { - "type": "string", - "description": "Maximum FIAB request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -12839,30 +12916,29 @@ "schema": { "type": "string" } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "application/x-protobuf": { "schema": { - "type": "string" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "400": { + "description": "Invalid Calculation Parameters.", "headers": { - "Location": { - "description": "URL to check status of the request.", + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "URL to check status of the request." - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." + "description": "FactSet's request key header." } }, "X-FactSet-Api-Request-Key": { @@ -12872,32 +12948,41 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", "schema": { - "type": "string", - "description": "Maximum FIAB request limit." + "type": "string" } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", "schema": { - "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" } } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "Location": { - "description": "URL to check status of the request.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "URL to check status of the request." + "$ref": "#/components/schemas/ClientErrorResponse" } }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "404": { + "description": "One or more calculation settings were unavailable.", + "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12912,41 +12997,40 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", "schema": { - "type": "string", - "description": "Maximum FIAB request limit." + "type": "string" } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", "schema": { - "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "202", - "response-type": null - } - ] - }, - "get": { - "tags": [ - "FIAB Calculations" - ], - "summary": "Get all FIAB calculation summaries", - "description": "This endpoints returns all FIAB calculation requests.", - "operationId": "getCalculationStatusSummaries", - "responses": { - "200": { - "description": "List of active FIAB calculation requests.", + }, + "409": { + "description": "Duplicate calculation exists with same parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12984,10 +13068,12 @@ "content": { "application/json": { "schema": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/FIABCalculationStatusSummary" - } + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -13012,7 +13098,7 @@ } }, "403": { - "description": "User is forbidden with current credentials.", + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13048,8 +13134,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13086,7 +13172,7 @@ } }, "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13102,6 +13188,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -13149,38 +13253,40 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", - "response-type": null + "status-code": "202", + "response-type": "CalculationInfoRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/fiab/v1/calculations/{id}": { + }, "get": { "tags": [ - "FIAB Calculations" + "FICalculations" ], - "summary": "Get FIAB calculation by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.", - "operationId": "getCalculationById", + "summary": "Get FI calculation parameters by id", + "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", + "operationId": "getCalculationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Run FIAB Calculation endpoint", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Run FIAB Calculation endpoint" + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" } } ], "responses": { "200": { - "description": "Expected response, returns status information of the entire calculation if it is complete.", + "description": "Expected response, returns the FI calculation parameters.", "headers": { "Content-Encoding": { "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", @@ -13239,21 +13345,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FIABCalculationStatus" + "$ref": "#/components/schemas/FICalculationParametersRoot" } } } }, - "202": { - "description": "Expected response, returns status information of the entire calculation if it is not complete.", + "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.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -13290,13 +13389,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FIABCalculationStatus" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "404": { + "description": "Calculation id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13330,6 +13429,13 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, "401": { @@ -13388,43 +13494,6 @@ } } }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", "headers": { @@ -13468,62 +13537,33 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "FIABCalculationStatus" - }, - { - "status-code": "202", - "response-type": "FIABCalculationStatus" + "response-type": "FICalculationParametersRoot" } ] - } - }, - "/analytics/engines/fi/v3/calculations": { - "post": { + }, + "delete": { "tags": [ "FICalculations" ], - "summary": "Create and Run FI calculation", - "description": "This endpoint creates and runs a new FI calculation specified in the post body.", - "operationId": "postAndCalculate", + "summary": "Cancel FI calculation by id", + "description": "This is the endpoint to cancel a previously submitted calculation.", + "operationId": "cancelCalculationById", "parameters": [ { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FICalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "204": { + "description": "Expected response, calculation was canceled successfully.", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -13538,18 +13578,41 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "Invalid identifier provided.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "Maximum FI request limit." + "description": "FactSet's request key header." } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { "type": "string", - "description": "Number of FI requests remaining till request limit reached." + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -13572,20 +13635,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "201": { - "description": "Expected response if calculation is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "404": { + "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13601,20 +13669,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -13635,20 +13689,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid calculation parameters.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13663,19 +13722,24 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "Maximum FI request limit." + "description": "FactSet's request key header." } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { "type": "string", - "description": "Number of FI requests remaining till request limit reached." + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -13696,22 +13760,29 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13726,19 +13797,55 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", + } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "204", + "response-type": null + } + ] + } + }, + "/analytics/engines/fi/v3/calculations/{id}/status": { + "get": { + "tags": [ + "FICalculations" + ], + "summary": "Get FI calculation status by id", + "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.\r\nOtherwise, the calculation is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", + "operationId": "getCalculationStatusById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" + } + } + ], + "responses": { + "201": { + "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "Maximum FI request limit." + "description": "FactSet's request key header." } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { "type": "string", - "description": "Number of FI requests remaining till request limit reached." + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -13763,19 +13870,33 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } }, "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "401": { - "description": "Missing or invalid authentication.", + "202": { + "description": "Expected response returned if the calculation is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -13790,24 +13911,28 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", "schema": { - "type": "string", - "description": "Maximum FI request limit." + "type": "string" } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" } } } }, - "403": { - "description": "User is forbidden with current credentials", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13823,20 +13948,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -13855,10 +13966,22 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13874,20 +13997,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -13906,10 +14015,22 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13924,19 +14045,24 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "Maximum FI request limit." + "description": "FactSet's request key header." } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { "type": "string", - "description": "Number of FI requests remaining till request limit reached." + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -13956,17 +14082,11 @@ "schema": { "type": "string" } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -13981,20 +14101,6 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } } } }, @@ -14014,92 +14120,66 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } } } } }, "x-are-multiple-success-responses-different": true, "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationInfoRoot" - }, { "status-code": "201", "response-type": "ObjectRoot" + }, + { + "status-code": "202", + "response-type": null } ] } }, - "/analytics/engines/fi/v3/calculations/{id}": { - "put": { + "/analytics/engines/fi/v3/calculations/{id}/result": { + "get": { "tags": [ "FICalculations" ], - "summary": "Create or Update FI calculation and run it.", - "description": "This endpoint updates and run the FI optimization specified in the PUT body parameters. It also allows the creation of new FI optimization with custom id.", - "operationId": "putAndCalculate", + "summary": "Get FI calculation result by id", + "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", + "operationId": "getCalculationResult", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", + "description": "from url, provided from the location header in the Get FI calculation status by id endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" - } - }, - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", - "schema": { - "type": "string" + "description": "from url, provided from the location header in the Get FI calculation status by id endpoint" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FICalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", "schema": { "type": "string", - "description": "URL to poll for the resulting calculation" + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." } }, "X-DataDirect-Request-Key": { @@ -14138,18 +14218,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/ObjectRoot" } }, "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "201": { - "description": "Expected response if calculation is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14187,18 +14267,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid Calculation Parameters.", + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14246,8 +14326,8 @@ } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14262,41 +14342,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, - "409": { - "description": "Duplicate calculation exists with same parameters.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14330,22 +14380,29 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14362,10 +14419,64 @@ } } } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": "ObjectRoot" + } + ] + } + }, + "/analytics/engines/fpo/v3/optimizations": { + "post": { + "tags": [ + "FPO Optimizer" + ], + "summary": "Create and Run FPO optimization", + "description": "This endpoint runs FPO optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", + "operationId": "postAndOptimize", + "parameters": [ + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", + "schema": { + "type": "integer" + } }, - "403": { - "description": "User is forbidden with current credentials", + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Optimization Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FPOOptimizationParametersRoot" + } + } + } + }, + "responses": { + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting optimization", + "schema": { + "type": "string", + "description": "URL to poll for the resulting optimization" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -14398,10 +14509,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationInfoRoot" + } + } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "201": { + "description": "Expected response, returns json if optimization is completed in a short span.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14435,10 +14553,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "400": { + "description": "Invalid optimization parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14471,110 +14596,19 @@ "schema": { "type": "string" } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } - } - }, - "x-are-multiple-success-responses-different": true, - "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationInfoRoot" }, - { - "status-code": "201", - "response-type": "ObjectRoot" - } - ] - }, - "get": { - "tags": [ - "FICalculations" - ], - "summary": "Get FI calculation parameters by id", - "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", - "operationId": "getCalculationParameters", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns the FI calculation parameters.", + "404": { + "description": "One or more optimization settings were unavailable.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -14611,13 +14645,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FICalculationParametersRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14651,17 +14704,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Calculation id not found", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14695,36 +14741,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14757,11 +14777,17 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -14799,37 +14825,76 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", - "response-type": "FICalculationParametersRoot" + "status-code": "202", + "response-type": "CalculationInfoRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] - }, - "delete": { + } + }, + "/analytics/engines/fpo/v3/optimizations/{id}": { + "put": { "tags": [ - "FICalculations" + "FPO Optimizer" ], - "summary": "Cancel FI calculation by id", - "description": "This is the endpoint to cancel a previously submitted calculation.", - "operationId": "cancelCalculationById", + "summary": "Create or Update FPO optimization and run it.", + "description": "This endpoint updates and run the FPO optimization specified in the PUT body parameters. It also allows the creation of new FPO optimization with custom id.", + "operationId": "putAndOptimize", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" + } + }, + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", + "schema": { + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Optimization Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FPOOptimizationParametersRoot" + } + } + } + }, "responses": { - "204": { - "description": "Expected response, calculation was canceled successfully.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting optimization", + "schema": { + "type": "string", + "description": "URL to poll for the resulting optimization" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -14862,10 +14927,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationInfoRoot" + } + } } }, - "400": { - "description": "Invalid identifier provided.", + "201": { + "description": "Expected response, returns json if optimization is completed in a short span.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14901,25 +14973,15 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "404": { - "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", + "400": { + "description": "Invalid Optimization Parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14955,44 +15017,15 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } } } }, - "403": { - "description": "User is forbidden with current credentials", + "404": { + "description": "One or more optimization settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15026,79 +15059,17 @@ "type": "string" } } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "204", - "response-type": null - } - ] - } - }, - "/analytics/engines/fi/v3/calculations/{id}/status": { - "get": { - "tags": [ - "FICalculations" - ], - "summary": "Get FI calculation status by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.\r\nOtherwise, the calculation is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", - "operationId": "getCalculationStatusById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" - } - } - ], - "responses": { - "201": { - "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", + "409": { + "description": "Duplicate optimization exists with same parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15136,33 +15107,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "202": { - "description": "Expected response returned if the calculation is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "401": { + "description": "Missing or invalid authentication.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -15176,29 +15128,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "400": { - "description": "Invalid identifier provided.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15232,22 +15166,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15281,41 +15203,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15348,11 +15239,17 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -15393,39 +15290,37 @@ "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "201", - "response-type": "ObjectRoot" + "status-code": "202", + "response-type": "CalculationInfoRoot" }, { - "status-code": "202", - "response-type": null + "status-code": "201", + "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/fi/v3/calculations/{id}/result": { + }, "get": { "tags": [ - "FICalculations" + "FPO Optimizer" ], - "summary": "Get FI calculation result by id", - "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", - "operationId": "getCalculationResult", + "summary": "Get FPO optimization parameters by id", + "description": "This is the endpoint that returns the optimization parameters passed for an optimization.", + "operationId": "getOptimizationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Get FI calculation status by id endpoint", + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get FI calculation status by id endpoint" + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", + "description": "Expected response, returns the FPO optimization parameters.", "headers": { "Content-Encoding": { "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", @@ -15484,12 +15379,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/FPOOptimizationParametersRoot" } } } @@ -15535,16 +15425,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "description": "Optimization id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15584,11 +15469,6 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, @@ -15691,58 +15571,33 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ObjectRoot" + "response-type": "FPOOptimizationParametersRoot" } ] - } - }, - "/analytics/engines/fpo/v3/optimizations": { - "post": { + }, + "delete": { "tags": [ "FPO Optimizer" ], - "summary": "Create and Run FPO optimization", - "description": "This endpoint runs FPO optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", - "operationId": "postAndOptimize", + "summary": "Cancel FPO optimization by id", + "description": "This is the endpoint to cancel a previously submitted optimization.", + "operationId": "cancelOptimizationById", "parameters": [ { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" } } ], - "requestBody": { - "description": "Optimization Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FPOOptimizationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "204": { + "description": "Expected response, optimization was canceled successfully.", "headers": { - "Location": { - "description": "URL to poll for the resulting optimization", - "schema": { - "type": "string", - "description": "URL to poll for the resulting optimization" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -15775,17 +15630,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" - } - } } }, - "201": { - "description": "Expected response, returns json if optimization is completed in a short span.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15821,15 +15669,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid optimization parameters.", + "404": { + "description": "There was no request for the optimization identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15865,15 +15723,44 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, - "404": { - "description": "One or more optimization settings were unavailable.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15907,17 +15794,29 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15934,10 +15833,99 @@ } } } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "204", + "response-type": null + } + ] + } + }, + "/analytics/engines/fpo/v3/optimizations/{id}/status": { + "get": { + "tags": [ + "FPO Optimizer" + ], + "summary": "Get FPO optimization status by id", + "description": "This is the endpoint to check on the progress of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.\r\nOtherwise, the optimization is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", + "operationId": "getOptimizationStatusById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" + } + } + ], + "responses": { + "201": { + "description": "Expected response once optimization is completed, returns JSON.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + } + } }, - "403": { - "description": "User is forbidden with current credentials", + "202": { + "description": "Expected response returned if the optimization is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -15972,8 +15960,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16007,10 +15995,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", + "404": { + "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16043,9 +16038,66 @@ "schema": { "type": "string" } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", "schema": { "type": "string" } @@ -16053,7 +16105,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -16093,72 +16145,68 @@ }, "x-are-multiple-success-responses-different": true, "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationInfoRoot" - }, { "status-code": "201", "response-type": "ObjectRoot" + }, + { + "status-code": "202", + "response-type": null } ] } }, - "/analytics/engines/fpo/v3/optimizations/{id}": { - "put": { + "/analytics/engines/fpo/v3/optimizations/{id}/result": { + "get": { "tags": [ "FPO Optimizer" ], - "summary": "Create or Update FPO optimization and run it.", - "description": "This endpoint updates and run the FPO optimization specified in the PUT body parameters. It also allows the creation of new FPO optimization with custom id.", - "operationId": "putAndOptimize", + "summary": "Get FPO optimization result by id", + "description": "This is the endpoint to get the result of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.", + "operationId": "getOptimizationResult", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", + "description": "from url, provided from the location header in the Get FPO optimization status by id endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" - } - }, - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" + "description": "from url, provided from the location header in the Get FPO optimization status by id endpoint" } }, { - "name": "Cache-Control", + "name": "Accept", "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "description": "Standard HTTP header. Value can be gzip, compress, deflate, br, identity and/or *", "schema": { "type": "string" } } ], - "requestBody": { - "description": "Optimization Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FPOOptimizationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response once optimization is completed, returns JSON.", "headers": { - "Location": { - "description": "URL to poll for the resulting optimization", + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", "schema": { "type": "string", - "description": "URL to poll for the resulting optimization" + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." } }, "X-DataDirect-Request-Key": { @@ -16197,13 +16245,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "201": { - "description": "Expected response, returns json if optimization is completed in a short span.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16241,13 +16289,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid Optimization Parameters.", + "404": { + "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16290,8 +16338,27 @@ } } }, - "404": { - "description": "One or more optimization settings were unavailable.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16325,17 +16392,67 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "409": { - "description": "Duplicate optimization exists with same parameters.", + "503": { + "description": "Request timed out. Retry the request in sometime.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": "ObjectRoot" + } + ] + } + }, + "/analytics/engines/pa/v3/frequencies": { + "get": { + "tags": [ + "Frequencies" + ], + "summary": "Get PA frequencies", + "description": "This endpoint lists all the frequencies that can be applied to a PA calculation.", + "operationId": "getPAFrequencies", + "responses": { + "200": { + "description": "Expected response, returns a list of PA frequencies.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16373,7 +16490,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/FrequencyRoot" } } } @@ -16434,8 +16551,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16472,7 +16589,7 @@ } }, "429": { - "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", + "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.", @@ -16488,24 +16605,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -16553,62 +16652,27 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "202", - "response-type": "CalculationInfoRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" + "status-code": "200", + "response-type": "FrequencyRoot" } ] - }, + } + }, + "/analytics/engines/vault/v3/frequencies": { "get": { "tags": [ - "FPO Optimizer" - ], - "summary": "Get FPO optimization parameters by id", - "description": "This is the endpoint that returns the optimization parameters passed for an optimization.", - "operationId": "getOptimizationParameters", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" - } - } + "Frequencies" ], + "summary": "Get Vault frequencies", + "description": "This endpoint lists all the frequencies that can be applied to a Vault calculation.", + "operationId": "getVaultFrequencies", "responses": { "200": { - "description": "Expected response, returns the FPO optimization parameters.", + "description": "Expected response, returns a list of Vault frequencies.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -16645,13 +16709,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FPOOptimizationParametersRoot" + "$ref": "#/components/schemas/FrequencyRoot" } } } }, - "400": { - "description": "Invalid identifier provided.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16685,17 +16768,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Optimization id not found", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16729,36 +16805,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -16774,20 +16824,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -16795,7 +16833,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -16837,32 +16875,22 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "FPOOptimizationParametersRoot" + "response-type": "FrequencyRoot" } ] - }, - "delete": { + } + }, + "/analytics/engines/pa/v3/groups": { + "get": { "tags": [ - "FPO Optimizer" - ], - "summary": "Cancel FPO optimization by id", - "description": "This is the endpoint to cancel a previously submitted optimization.", - "operationId": "cancelOptimizationById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" - } - } + "Groups" ], + "summary": "Get PA groups", + "description": "This endpoint lists all the PA groups that can be applied to a PA calculation.", + "operationId": "getPAGroups", "responses": { - "204": { - "description": "Expected response, optimization was canceled successfully.", + "200": { + "description": "Expected response, returns a list of PA groups", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16878,6 +16906,13 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "Age": { + "description": "Standard HTTP header. Header will specify the age of groupings list cached response.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify the age of groupings list cached response." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -16896,10 +16931,36 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GroupRoot" + } + } } }, - "400": { - "description": "Invalid identifier provided.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16933,27 +16994,10 @@ "type": "string" } } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "There was no request for the optimization identifier provided, or the request was already canceled for the provided identifier.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16987,46 +17031,10 @@ "type": "string" } } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -17042,20 +17050,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -17063,7 +17059,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -17104,35 +17100,23 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "204", - "response-type": null + "status-code": "200", + "response-type": "GroupRoot" } ] } }, - "/analytics/engines/fpo/v3/optimizations/{id}/status": { + "/analytics/engines/pa/v3/grouping-frequencies": { "get": { "tags": [ - "FPO Optimizer" - ], - "summary": "Get FPO optimization status by id", - "description": "This is the endpoint to check on the progress of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.\r\nOtherwise, the optimization is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", - "operationId": "getOptimizationStatusById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" - } - } + "Groups" ], + "summary": "Get PA grouping frequencies", + "description": "This endpoint lists all the PA grouping frequencies that can be applied to a PA calculation.", + "operationId": "getPAGroupingFrequencies", "responses": { - "201": { - "description": "Expected response once optimization is completed, returns JSON.", + "200": { + "description": "Expected response, returns a list of PA grouping frequencies", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17170,28 +17154,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/FrequencyRoot" } } } }, - "202": { - "description": "Expected response returned if the optimization is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "401": { + "description": "Missing or invalid authentication.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -17205,29 +17175,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "400": { - "description": "Invalid identifier provided.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17261,17 +17213,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17305,36 +17250,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -17350,20 +17269,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -17409,72 +17316,38 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "201", - "response-type": "ObjectRoot" - }, - { - "status-code": "202", - "response-type": null + "status-code": "200", + "response-type": "FrequencyRoot" } ] } }, - "/analytics/engines/fpo/v3/optimizations/{id}/result": { - "get": { + "/analytics/engines/pa/v3/linked-templates": { + "post": { "tags": [ - "FPO Optimizer" + "LinkedPATemplates" ], - "summary": "Get FPO optimization result by id", - "description": "This is the endpoint to get the result of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.", - "operationId": "getOptimizationResult", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Get FPO optimization status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get FPO optimization status by id endpoint" + "summary": "Create a linked PA template", + "description": "This endpoint creates a template from an **existing portfolio analysis tile**, allowing the user to replicate and fetch reports settings.\r\n\r\nRemarks:\r\n\r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.", + "operationId": "createLinkedPATemplates", + "requestBody": { + "description": "Request Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LinkedPATemplateParametersRoot" + } } }, - { - "name": "Accept", - "in": "header", - "description": "Standard HTTP header. Value can be gzip, compress, deflate, br, identity and/or *", - "schema": { - "type": "string" - } - } - ], + "required": true + }, "responses": { - "200": { - "description": "Expected response once optimization is completed, returns JSON.", + "201": { + "description": "Expected response, created a template linked to a PA3 tile.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -17511,13 +17384,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/LinkedPATemplatePostSummaryRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17560,8 +17433,8 @@ } } }, - "404": { - "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17576,11 +17449,30 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "type": "string" + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" } }, "X-FactSet-Api-RateLimit-Remaining": { @@ -17595,17 +17487,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", + "404": { + "description": "Component not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17620,11 +17505,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17660,8 +17563,33 @@ } } }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -17702,23 +17630,51 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "200", - "response-type": "ObjectRoot" + "status-code": "201", + "response-type": "LinkedPATemplatePostSummaryRoot" } ] - } - }, - "/analytics/engines/pa/v3/frequencies": { + }, "get": { "tags": [ - "Frequencies" + "LinkedPATemplates" + ], + "summary": "Get linked PA templates", + "description": "This endpoint returns the list of linked PA templates in given path.", + "operationId": "getLinkedPATemplates", + "parameters": [ + { + "name": "directory", + "in": "query", + "description": "Get linked PA templates in path.", + "schema": { + "type": "string", + "description": "Get linked PA templates in path.", + "example": "Personal:LinkedPATemplates/" + } + }, + { + "name": "documentDirectory", + "in": "query", + "description": "Get linked PA templates for documents in document path", + "schema": { + "type": "string", + "description": "Get linked PA templates for documents in document path" + } + }, + { + "name": "documentName", + "in": "query", + "description": "Get linked PA templates for documents by document name", + "schema": { + "type": "string", + "description": "Get linked PA templates for documents by document name" + } + } ], - "summary": "Get PA frequencies", - "description": "This endpoint lists all the frequencies that can be applied to a PA calculation.", - "operationId": "getPAFrequencies", "responses": { "200": { - "description": "Expected response, returns a list of PA frequencies.", + "description": "Expected response, returns a list of templates linked to PA3 tile.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17756,7 +17712,95 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FrequencyRoot" + "$ref": "#/components/schemas/LinkedPATemplateSummaryRoot" + } + } + } + }, + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "404": { + "description": "Document not found", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -17922,22 +17966,46 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "FrequencyRoot" + "response-type": "LinkedPATemplateSummaryRoot" } ] } }, - "/analytics/engines/spar/v3/frequencies": { - "get": { + "/analytics/engines/pa/v3/linked-templates/{id}": { + "put": { "tags": [ - "Frequencies" + "LinkedPATemplates" + ], + "summary": "Update a linked PA template", + "description": "This endpoint allows the user to change the request body and description from an existing template.\r\n\r\nRemarks:\r\n\r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.", + "operationId": "updateLinkedPATemplates", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Unique identifier for a linked PA template", + "required": true, + "schema": { + "type": "string", + "description": "Unique identifier for a linked PA template", + "example": "01234567890123456789012345678901" + } + } ], - "summary": "Get SPAR frequencies", - "description": "This endpoint lists all the frequencies that can be applied to a SPAR calculation.", - "operationId": "getSPARFrequencies", + "requestBody": { + "description": "Request Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LinkedPATemplateUpdateParametersRoot" + } + } + }, + "required": true + }, "responses": { "200": { - "description": "Expected response, returns a list of SPAR frequencies.", + "description": "Expected response, updated a template linked to a PA3 tile.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17975,7 +18043,95 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FrequencyRoot" + "$ref": "#/components/schemas/LinkedPATemplatePostSummaryRoot" + } + } + } + }, + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "404": { + "description": "Template or component not found.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -18141,22 +18297,70 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "FrequencyRoot" + "response-type": "LinkedPATemplatePostSummaryRoot" } ] - } - }, - "/analytics/engines/vault/v3/frequencies": { - "get": { + }, + "delete": { "tags": [ - "Frequencies" + "LinkedPATemplates" + ], + "summary": "Delete a linked PA template.", + "description": "This endpoint deletes an existing linked PA template.", + "operationId": "deleteLinkedPATemplates", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Unique identifier for a linked PA template", + "required": true, + "schema": { + "type": "string", + "description": "Unique identifier for a linked PA template", + "example": "01234567890123456789012345678901" + } + } ], - "summary": "Get Vault frequencies", - "description": "This endpoint lists all the frequencies that can be applied to a Vault calculation.", - "operationId": "getVaultFrequencies", "responses": { - "200": { - "description": "Expected response, returns a list of Vault frequencies.", + "204": { + "description": "Expected response, deleted the linked PA template successfully.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18192,9 +18396,73 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/FrequencyRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "404": { + "description": "Template not found.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -18359,23 +18627,34 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "200", - "response-type": "FrequencyRoot" + "status-code": "204", + "response-type": null } ] - } - }, - "/analytics/engines/pa/v3/groups": { + }, "get": { "tags": [ - "Groups" + "LinkedPATemplates" + ], + "summary": "Get linked PA template by id", + "description": "This endpoint fetches the linked PA template settings.", + "operationId": "getLinkedPATemplatesById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Unique identifier for a linked PA template", + "required": true, + "schema": { + "type": "string", + "description": "Unique identifier for a linked PA template", + "example": "01234567890123456789012345678901" + } + } ], - "summary": "Get PA groups", - "description": "This endpoint lists all the PA groups that can be applied to a PA calculation.", - "operationId": "getPAGroups", "responses": { "200": { - "description": "Expected response, returns a list of PA groups", + "description": "Expected response, linked PA template details.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18391,13 +18670,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Age": { - "description": "Standard HTTP header. Header will specify the age of groupings list cached response.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify the age of groupings list cached response." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -18420,32 +18692,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GroupRoot" + "$ref": "#/components/schemas/LinkedPATemplateRoot" } } } }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18479,129 +18732,17 @@ "type": "string" } } - } - }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "GroupRoot" - } - ] - } - }, - "/analytics/engines/pa/v3/grouping-frequencies": { - "get": { - "tags": [ - "Groups" - ], - "summary": "Get PA grouping frequencies", - "description": "This endpoint lists all the PA grouping frequencies that can be applied to a PA calculation.", - "operationId": "getPAGroupingFrequencies", - "responses": { - "200": { - "description": "Expected response, returns a list of PA grouping frequencies", + "404": { + "description": "Template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18639,7 +18780,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FrequencyRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -18763,7 +18904,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -18805,34 +18946,58 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "FrequencyRoot" + "response-type": "LinkedPATemplateRoot" } ] } }, - "/analytics/engines/pa/v3/linked-templates": { + "/analytics/engines/npo/v3/optimizations": { "post": { "tags": [ - "LinkedPATemplates" + "NPO Optimizer" + ], + "summary": "Create and Run NPO optimization", + "description": "This endpoint creates and runs NPO optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", + "operationId": "postAndOptimize", + "parameters": [ + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", + "schema": { + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" + } + } ], - "summary": "Create a linked PA template", - "description": "This endpoint creates a template from an **existing portfolio analysis tile**, allowing the user to replicate and fetch reports settings.\r\n\r\nRemarks:\r\n\r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.", - "operationId": "createLinkedPATemplates", "requestBody": { - "description": "Request Parameters", + "description": "Optimization Parameters", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LinkedPATemplateParametersRoot" + "$ref": "#/components/schemas/NPOOptimizationParametersRoot" } } - }, - "required": true + } }, "responses": { - "201": { - "description": "Expected response, created a template linked to a PA3 tile.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting optimization", + "schema": { + "type": "string", + "description": "URL to poll for the resulting optimization" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -18869,13 +19034,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LinkedPATemplatePostSummaryRoot" + "$ref": "#/components/schemas/CalculationInfoRoot" } } } }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "201": { + "description": "Expected response, returns json if optimization is completed in a short span.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18913,13 +19078,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "401": { - "description": "Missing or invalid authentication.", + "400": { + "description": "Invalid optimization parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18934,11 +19099,36 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "404": { + "description": "One or more optimization settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18972,10 +19162,36 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "404": { - "description": "Component not found.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19011,8 +19227,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19049,7 +19265,7 @@ } }, "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19065,6 +19281,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -19112,54 +19346,76 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ + { + "status-code": "202", + "response-type": "CalculationInfoRoot" + }, { "status-code": "201", - "response-type": "LinkedPATemplatePostSummaryRoot" + "response-type": "ObjectRoot" } ] - }, - "get": { + } + }, + "/analytics/engines/npo/v3/optimizations/{id}": { + "put": { "tags": [ - "LinkedPATemplates" + "NPO Optimizer" ], - "summary": "Get linked PA templates", - "description": "This endpoint returns the list of linked PA templates in given path.", - "operationId": "getLinkedPATemplates", + "summary": "Create or Update NPO optimization and run it.", + "description": "This endpoint updates and run the NPO optimization specified in the PUT body parameters. It also allows the creation of new NPO optimization with custom id.", + "operationId": "putAndOptimize", "parameters": [ { - "name": "directory", - "in": "query", - "description": "Get linked PA templates in path.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", + "required": true, "schema": { "type": "string", - "description": "Get linked PA templates in path." + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" } }, { - "name": "documentDirectory", - "in": "query", - "description": "Get linked PA templates for documents in document path", + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", "schema": { - "type": "string", - "description": "Get linked PA templates for documents in document path" + "type": "integer" } }, { - "name": "documentName", - "in": "query", - "description": "Get linked PA templates for documents by document name", + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", "schema": { - "type": "string", - "description": "Get linked PA templates for documents by document name" + "type": "string" } } ], + "requestBody": { + "description": "Optimization Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NPOOptimizationParametersRoot" + } + } + } + }, "responses": { - "200": { - "description": "Expected response, returns a list of templates linked to PA3 tile.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting optimization", + "schema": { + "type": "string", + "description": "URL to poll for the resulting optimization" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -19196,13 +19452,57 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LinkedPATemplateSummaryRoot" + "$ref": "#/components/schemas/CalculationInfoRoot" + } + } + } + }, + "201": { + "description": "Expected response, returns json if optimization is completed in a short span.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" } } } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid Optimization Parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19246,7 +19546,51 @@ } }, "404": { - "description": "Document not found", + "description": "One or more optimization settings were unavailable.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "409": { + "description": "Duplicate optimization exists with same parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19345,8 +19689,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19383,7 +19727,7 @@ } }, "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19399,6 +19743,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -19446,50 +19808,62 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", - "response-type": "LinkedPATemplateSummaryRoot" + "status-code": "202", + "response-type": "CalculationInfoRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/pa/v3/linked-templates/{id}": { - "put": { + }, + "get": { "tags": [ - "LinkedPATemplates" + "NPO Optimizer" ], - "summary": "Update a linked PA template", - "description": "This endpoint allows the user to change the request body and description from an existing template.\r\n\r\nRemarks:\r\n\r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.", - "operationId": "updateLinkedPATemplates", + "summary": "Get NPO optimization parameters by id", + "description": "This is the endpoint that returns the optimization parameters passed for an optimization.", + "operationId": "getOptimizationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for a linked PA template", + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", "required": true, "schema": { "type": "string", - "description": "Unique identifier for a linked PA template" + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" } } ], - "requestBody": { - "description": "Request Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LinkedPATemplateUpdateParametersRoot" - } - } - }, - "required": true - }, "responses": { "200": { - "description": "Expected response, updated a template linked to a PA3 tile.", + "description": "Expected response, returns the NPO optimization parameters.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -19526,13 +19900,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LinkedPATemplatePostSummaryRoot" + "$ref": "#/components/schemas/NPOOptimizationParametersRoot" } } } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19576,7 +19950,7 @@ } }, "404": { - "description": "Template or component not found.", + "description": "Optimization id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19675,70 +20049,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -19780,32 +20092,32 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "LinkedPATemplatePostSummaryRoot" + "response-type": "NPOOptimizationParametersRoot" } ] }, "delete": { "tags": [ - "LinkedPATemplates" + "NPO Optimizer" ], - "summary": "Delete a linked PA template.", - "description": "This endpoint deletes an existing linked PA template.", - "operationId": "deleteLinkedPATemplates", + "summary": "Cancel NPO optimization by id", + "description": "This is the endpoint to cancel a previously submitted optimization.", + "operationId": "cancelOptimizationById", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for a linked PA template", + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", "required": true, "schema": { "type": "string", - "description": "Unique identifier for a linked PA template" + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" } } ], "responses": { "204": { - "description": "Expected response, deleted the linked PA template successfully.", + "description": "Expected response, optimization was canceled successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19842,7 +20154,7 @@ } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19896,7 +20208,7 @@ } }, "404": { - "description": "Template not found.", + "description": "There was no request for the optimization identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20005,68 +20317,6 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", "headers": { @@ -20113,29 +20363,31 @@ "response-type": null } ] - }, + } + }, + "/analytics/engines/npo/v3/optimizations/{id}/status": { "get": { "tags": [ - "LinkedPATemplates" + "NPO Optimizer" ], - "summary": "Get linked PA template by id", - "description": "This endpoint fetches the linked PA template settings.", - "operationId": "getLinkedPATemplatesById", + "summary": "Get NPO optimization status by id", + "description": "This is the endpoint to check on the progress of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.\r\nOtherwise, the optimization is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", + "operationId": "getOptimizationStatusById", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for a linked PA template", + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", "required": true, "schema": { "type": "string", - "description": "Unique identifier for a linked PA template" + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" } } ], "responses": { - "200": { - "description": "Expected response, linked PA template details.", + "201": { + "description": "Expected response once optimization is completed, returns JSON.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20173,14 +20425,28 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LinkedPATemplateRoot" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "202": { + "description": "Expected response returned if the optimization is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -20213,17 +20479,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Template not found.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20266,27 +20525,8 @@ } } }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", + "404": { + "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20320,10 +20560,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20338,29 +20585,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20376,8 +20605,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", "schema": { "type": "string" } @@ -20385,7 +20626,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -20423,106 +20664,64 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", - "response-type": "LinkedPATemplateRoot" + "status-code": "201", + "response-type": "ObjectRoot" + }, + { + "status-code": "202", + "response-type": null } ] } }, - "/analytics/engines/npo/v3/optimizations": { - "post": { + "/analytics/engines/npo/v3/optimizations/{id}/result": { + "get": { "tags": [ "NPO Optimizer" ], - "summary": "Create and Run NPO optimization", - "description": "This endpoint creates and runs NPO optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", - "operationId": "postAndOptimize", + "summary": "Get NPO optimization result by id", + "description": "This is the endpoint to get the result of a previously requested optimization.", + "operationId": "getOptimizationResult", "parameters": [ { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Get NPO optimization status by id endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Get NPO optimization status by id endpoint" } } ], - "requestBody": { - "description": "Optimization Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NPOOptimizationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response once optimization is completed, returns JSON.", "headers": { - "Location": { - "description": "URL to poll for the resulting optimization", + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", "schema": { "type": "string", - "description": "URL to poll for the resulting optimization" + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." } }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + "Content-Type": { + "description": "Standard HTTP header.", "schema": { "type": "string", - "description": "FactSet's request key header." + "description": "Standard HTTP header." } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", "schema": { "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." } }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" - } - } - } - }, - "201": { - "description": "Expected response, returns json if optimization is completed in a short span.", - "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -20565,7 +20764,7 @@ } }, "400": { - "description": "Invalid optimization parameters.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20609,7 +20808,7 @@ } }, "404": { - "description": "One or more optimization settings were unavailable.", + "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20708,88 +20907,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -20827,42 +20946,28 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "202", - "response-type": "CalculationInfoRoot" - }, - { - "status-code": "201", + "status-code": "200", "response-type": "ObjectRoot" } ] } }, - "/analytics/engines/npo/v3/optimizations/{id}": { - "put": { + "/analytics/engines/pa/v3/calculations": { + "post": { "tags": [ - "NPO Optimizer" + "PACalculations" ], - "summary": "Create or Update NPO optimization and run it.", - "description": "This endpoint updates and run the NPO optimization specified in the PUT body parameters. It also allows the creation of new NPO optimization with custom id.", - "operationId": "putAndOptimize", + "summary": "Create and Run PA calculation", + "description": "This endpoint runs the PA calculation specified in the POST body parameters.\r\nIt can take one or more calculation units as input.\r\n\r\nRemarks:\r\n\r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", + "operationId": "postAndCalculate", "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" - } - }, { "name": "X-FactSet-Api-Long-Running-Deadline", "in": "header", - "description": "Long running deadline in seconds.", + "description": "Long running deadline in seconds when only one unit is passed in the POST body.", "schema": { "type": "integer" } @@ -20877,11 +20982,11 @@ } ], "requestBody": { - "description": "Optimization Parameters", + "description": "Calculation Parameters", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NPOOptimizationParametersRoot" + "$ref": "#/components/schemas/PACalculationParametersRoot" } } } @@ -20891,10 +20996,10 @@ "description": "Expected response, contains the poll URL in the Location header.", "headers": { "Location": { - "description": "URL to poll for the resulting optimization", + "description": "URL to poll for the resulting calculation", "schema": { "type": "string", - "description": "URL to poll for the resulting optimization" + "description": "URL to poll for the resulting calculation" } }, "X-DataDirect-Request-Key": { @@ -20933,13 +21038,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, "201": { - "description": "Expected response, returns json if optimization is completed in a short span.", + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20979,11 +21089,16 @@ "schema": { "$ref": "#/components/schemas/ObjectRoot" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } } } }, - "400": { - "description": "Invalid Optimization Parameters.", + "200": { + "description": "Expected response, if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21021,13 +21136,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "404": { - "description": "One or more optimization settings were unavailable.", + "400": { + "description": "Invalid calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21067,11 +21187,16 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, - "409": { - "description": "Duplicate optimization exists with same parameters.", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21111,6 +21236,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, @@ -21208,7 +21338,7 @@ } }, "429": { - "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21293,58 +21423,41 @@ "x-success-response-types": [ { "status-code": "202", - "response-type": "CalculationInfoRoot" + "response-type": "CalculationStatusRoot" }, { "status-code": "201", "response-type": "ObjectRoot" + }, + { + "status-code": "200", + "response-type": "CalculationStatusRoot" } ] }, "get": { "tags": [ - "NPO Optimizer" + "PACalculations" ], - "summary": "Get NPO optimization parameters by id", - "description": "This is the endpoint that returns the optimization parameters passed for an optimization.", - "operationId": "getOptimizationParameters", + "summary": "Get all calculations", + "description": "This endpoints returns all calculation requests.", + "operationId": "getAllCalculations", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", + "name": "pageNumber", + "in": "query", "required": true, "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" + "type": "integer", + "format": "int32", + "default": 1 } } ], "responses": { "200": { - "description": "Expected response, returns the NPO optimization parameters.", + "description": "List of calculation requests.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -21381,13 +21494,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NPOOptimizationParametersRoot" + "$ref": "#/components/schemas/CalculationsSummaryRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid page number.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21431,7 +21544,7 @@ } }, "404": { - "description": "Optimization id not found", + "description": "No calculation found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21494,7 +21607,7 @@ } }, "403": { - "description": "User is forbidden with current credentials", + "description": "User is forbidden with current credentials.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21530,8 +21643,70 @@ } } }, + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -21573,33 +21748,68 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "NPOOptimizationParametersRoot" + "response-type": "CalculationsSummaryRoot" } ] - }, - "delete": { + } + }, + "/analytics/engines/pa/v3/calculations/{id}": { + "put": { "tags": [ - "NPO Optimizer" + "PACalculations" ], - "summary": "Cancel NPO optimization by id", - "description": "This is the endpoint to cancel a previously submitted optimization.", - "operationId": "cancelOptimizationById", + "summary": "Create or Update PA calculation and run it.", + "description": "This endpoint updates and run the PA calculation specified in the PUT body parameters. This also allows creating new PA calculations with custom ids.\r\nIt can take one or more calculation units as input.\r\n\r\nRemarks:\r\n\r\n*\tAny settings in PUT body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", + "operationId": "putAndCalculate", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" + } + }, + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", + "schema": { + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PACalculationParametersRoot" + } + } + } + }, "responses": { - "204": { - "description": "Expected response, optimization was canceled successfully.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting calculation", + "schema": { + "type": "string", + "description": "URL to poll for the resulting calculation" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -21632,10 +21842,22 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } } }, - "400": { - "description": "Invalid identifier provided.", + "200": { + "description": "Expected response, if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21671,25 +21893,69 @@ } }, "content": { - "text/plain": { + "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } + } + }, + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" } }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } }, - "text/json": { + "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "404": { - "description": "There was no request for the optimization identifier provided, or the request was already canceled for the provided identifier.", + "400": { + "description": "Invalid Calculation Parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21725,44 +21991,20 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } }, - "text/json": { + "application/x-protobuf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21796,79 +22038,22 @@ "type": "string" } } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "204", - "response-type": null - } - ] - } - }, - "/analytics/engines/npo/v3/optimizations/{id}/status": { - "get": { - "tags": [ - "NPO Optimizer" - ], - "summary": "Get NPO optimization status by id", - "description": "This is the endpoint to check on the progress of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.\r\nOtherwise, the optimization is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", - "operationId": "getOptimizationStatusById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" - } - } - ], - "responses": { - "201": { - "description": "Expected response once optimization is completed, returns JSON.", + "409": { + "description": "Duplicate calculation exists with same parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21906,28 +22091,19 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "202": { - "description": "Expected response returned if the optimization is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "401": { + "description": "Missing or invalid authentication.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -21941,29 +22117,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "400": { - "description": "Invalid identifier provided.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21997,17 +22155,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22041,36 +22192,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22103,11 +22228,17 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -22148,39 +22279,41 @@ "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "201", - "response-type": "ObjectRoot" + "status-code": "202", + "response-type": "CalculationStatusRoot" }, { - "status-code": "202", - "response-type": null + "status-code": "200", + "response-type": "CalculationStatusRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/npo/v3/optimizations/{id}/result": { + }, "get": { "tags": [ - "NPO Optimizer" + "PACalculations" ], - "summary": "Get NPO optimization result by id", - "description": "This is the endpoint to get the result of a previously requested optimization.", - "operationId": "getOptimizationResult", + "summary": "Get PA calculation parameters by id", + "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", + "operationId": "getCalculationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Get NPO optimization status by id endpoint", + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get NPO optimization status by id endpoint" + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" } } ], "responses": { "200": { - "description": "Expected response once optimization is completed, returns JSON.", + "description": "Expected response, returns the PA calculation parameters.", "headers": { "Content-Encoding": { "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", @@ -22239,7 +22372,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/PACalculationParametersRoot" } } } @@ -22289,7 +22422,7 @@ } }, "404": { - "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", + "description": "Calculation id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22431,58 +22564,33 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ObjectRoot" + "response-type": "PACalculationParametersRoot" } ] - } - }, - "/analytics/engines/pa/v3/calculations": { - "post": { + }, + "delete": { "tags": [ "PACalculations" ], - "summary": "Create and Run PA calculation", - "description": "This endpoint runs the PA calculation specified in the POST body parameters.\r\nIt can take one or more calculation units as input.\r\n\r\nRemarks:\r\n\r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", - "operationId": "postAndCalculate", + "summary": "Cancel PA calculation by id", + "description": "This is the endpoint to cancel a previously submitted calculation.", + "operationId": "cancelCalculationById", "parameters": [ { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the POST body.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PACalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "204": { + "description": "Expected response, calculation was canceled successfully.", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -22515,22 +22623,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22566,20 +22662,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", + "404": { + "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22615,20 +22716,44 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid calculation parameters.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22662,23 +22787,101 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "503": { + "description": "Request timed out. Retry the request in sometime.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "204", + "response-type": null + } + ] + } + }, + "/analytics/engines/pa/v3/calculations/{id}/status": { + "get": { + "tags": [ + "PACalculations" + ], + "summary": "Get PA calculation status by id", + "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.\r\nOtherwise, the calculation is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", + "operationId": "getCalculationStatusById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" + } + } + ], + "responses": { + "200": { + "description": "Expected response once calculation is completed.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -22715,19 +22918,28 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "401": { - "description": "Missing or invalid authentication.", + "202": { + "description": "Expected response returned if the calculation is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -22741,11 +22953,36 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22779,10 +23016,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22816,10 +23060,36 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22852,17 +23122,11 @@ "schema": { "type": "string" } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -22900,45 +23164,74 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "202", + "status-code": "200", "response-type": "CalculationStatusRoot" }, { - "status-code": "201", - "response-type": "ObjectRoot" - }, - { - "status-code": "200", + "status-code": "202", "response-type": "CalculationStatusRoot" } ] - }, + } + }, + "/analytics/engines/pa/v3/calculations/{id}/units/{unitId}/result": { "get": { "tags": [ "PACalculations" ], - "summary": "Get all calculations", - "description": "This endpoints returns all calculation requests.", - "operationId": "getAllCalculations", + "summary": "Get PA calculation result by id", + "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", + "operationId": "getCalculationUnitResultById", "parameters": [ { - "name": "pageNumber", - "in": "query", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Get PA calculation status by id endpoint", "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 1 + "type": "string", + "description": "from url, provided from the location header in the Get PA calculation status by id endpoint" + } + }, + { + "name": "unitId", + "in": "path", + "description": "from url, provided from the location header in the Get PA calculation status by id endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Get PA calculation status by id endpoint" } } ], "responses": { "200": { - "description": "List of calculation requests.", + "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -22975,13 +23268,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationsSummaryRoot" + "$ref": "#/components/schemas/ObjectRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" } } } }, "400": { - "description": "Invalid page number.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23021,11 +23319,16 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, "404": { - "description": "No calculation found.", + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23065,30 +23368,16 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "403": { - "description": "User is forbidden with current credentials.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23103,29 +23392,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23161,33 +23432,8 @@ } } }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -23229,68 +23475,55 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CalculationsSummaryRoot" + "response-type": "ObjectRoot" } ] } }, - "/analytics/engines/pa/v3/calculations/{id}": { - "put": { + "/analytics/engines/pa/v3/pricing-sources": { + "get": { "tags": [ - "PACalculations" + "PricingSources" ], - "summary": "Create or Update PA calculation and run it.", - "description": "This endpoint updates and run the PA calculation specified in the PUT body parameters. This also allows creating new PA calculations with custom ids.\r\nIt can take one or more calculation units as input.\r\n\r\nRemarks:\r\n\r\n*\tAny settings in PUT body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", - "operationId": "putAndCalculate", + "summary": "Get PA pricing sources", + "description": "This endpoint lists all the PA pricing sources that can be applied to a PA calculation.", + "operationId": "getPAPricingSources", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", - "required": true, + "name": "name", + "in": "query", + "description": "PA pricing sources name", "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" + "description": "PA pricing sources name", + "default": "" } }, { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", + "name": "category", + "in": "query", + "description": "PA pricing sources category", "schema": { - "type": "integer" + "type": "string", + "description": "PA pricing sources category", + "default": "" } }, { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "directory", + "in": "query", + "description": "The directory to get the PA pricing sources in", "schema": { - "type": "string" + "type": "string", + "description": "The directory to get the PA pricing sources in", + "default": "" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PACalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response, returns a list of PA pricing sources", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -23305,6 +23538,13 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "Age": { + "description": "Standard HTTP header. Header will specify the age of pricing sources list cached response.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify the age of pricing sources list cached response." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -23327,18 +23567,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/PAPricingSourceRoot" } } } }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23376,18 +23611,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "404": { + "description": "Pricing sources not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23425,18 +23655,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" + } + } + }, + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "400": { - "description": "Invalid Calculation Parameters.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23470,22 +23714,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23519,22 +23751,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "409": { - "description": "Duplicate calculation exists with same parameters.", + "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.", @@ -23550,40 +23770,35 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23600,10 +23815,64 @@ } } } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": "PAPricingSourceRoot" + } + ] + } + }, + "/analytics/engines/pub/v3/calculations": { + "post": { + "tags": [ + "PubCalculations" + ], + "summary": "Create and Run Pub calculation", + "description": "This endpoint runs the Pub calculation specified in the POST body parameters.\r\nIt can take one or more units as input.", + "operationId": "postAndCalculate", + "parameters": [ + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds when only one unit is passed in the POST body.", + "schema": { + "type": "integer" + } }, - "403": { - "description": "User is forbidden with current credentials", + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PubCalculationParametersRoot" + } + } + } + }, + "responses": { + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting calculation", + "schema": { + "type": "string", + "description": "URL to poll for the resulting calculation" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -23636,10 +23905,22 @@ "type": "string" } } + }, + "content": { + "application/pdf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "200": { + "description": "Expected response, if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23673,10 +23954,22 @@ "type": "string" } } + }, + "content": { + "application/pdf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23709,114 +24002,26 @@ "schema": { "type": "string" } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "content": { + "application/pdf": { "schema": { "type": "string", - "description": "FactSet's request key header." + "format": "binary" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { "schema": { "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "format": "binary" } } } - } - }, - "x-are-multiple-success-responses-different": true, - "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" }, - { - "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" - } - ] - }, - "get": { - "tags": [ - "PACalculations" - ], - "summary": "Get PA calculation parameters by id", - "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", - "operationId": "getCalculationParameters", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns the PA calculation parameters.", + "400": { + "description": "Invalid calculation parameters.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -23851,15 +24056,20 @@ } }, "content": { - "application/json": { + "application/pdf": { "schema": { - "$ref": "#/components/schemas/PACalculationParametersRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23895,15 +24105,39 @@ } }, "content": { - "application/json": { + "application/pdf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "404": { - "description": "Calculation id not found", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23937,17 +24171,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23962,11 +24189,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23999,11 +24244,17 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -24041,36 +24292,45 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ + { + "status-code": "202", + "response-type": "CalculationStatusRoot" + }, { "status-code": "200", - "response-type": "PACalculationParametersRoot" + "response-type": "CalculationStatusRoot" + }, + { + "status-code": "201", + "response-type": null, + "is-file": true } ] }, - "delete": { + "get": { "tags": [ - "PACalculations" + "PubCalculations" ], - "summary": "Cancel PA calculation by id", - "description": "This is the endpoint to cancel a previously submitted calculation.", - "operationId": "cancelCalculationById", + "summary": "Get all calculations", + "description": "This endpoints returns all calculation requests.", + "operationId": "getAllCalculations", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", + "name": "pageNumber", + "in": "query", "required": true, "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" + "type": "integer", + "format": "int32", + "default": 1 } } ], "responses": { - "204": { - "description": "Expected response, calculation was canceled successfully.", + "200": { + "description": "List of calculation requests.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24104,10 +24364,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationsSummaryRoot" + } + } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid page number.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24143,25 +24410,15 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", + "description": "No calculation found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24197,25 +24454,34 @@ } }, "content": { - "text/plain": { + "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/json": { + } + } + }, + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "text/json": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "403": { + "description": "User is forbidden with current credentials.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24230,11 +24496,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24270,6 +24554,31 @@ } } }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", "headers": { @@ -24312,57 +24621,127 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "204", - "response-type": null + "status-code": "200", + "response-type": "CalculationsSummaryRoot" } ] } }, - "/analytics/engines/pa/v3/calculations/{id}/status": { - "get": { + "/analytics/engines/pub/v3/calculations/{id}": { + "put": { "tags": [ - "PACalculations" + "PubCalculations" ], - "summary": "Get PA calculation status by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.\r\nOtherwise, the calculation is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", - "operationId": "getCalculationStatusById", + "summary": "Create or Update Pub calculation and run it.", + "description": "This endpoint updates and run the Pub calculation specified in the PUT body parameters. This also allows creating new Pub calculations with custom ids.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n* Start and and end date must be within the configuration's min and max date range", + "operationId": "putAndCalculate", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" + } + }, + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", + "schema": { + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PubCalculationParametersRoot" + } + } + } + }, "responses": { - "200": { - "description": "Expected response once calculation is completed.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "Location": { + "description": "URL to poll for the resulting calculation", "schema": { "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + "description": "URL to poll for the resulting calculation" } }, - "Content-Type": { - "description": "Standard HTTP header.", + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "Standard HTTP header." + "description": "FactSet's request key header." } }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." } }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/pdf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } + } + }, + "200": { + "description": "Expected response, if the calculation has one unit and is completed with an error.", + "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -24377,6 +24756,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -24397,30 +24790,75 @@ } }, "content": { - "application/json": { + "application/pdf": { "schema": { "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "202": { - "description": "Expected response returned if the calculation is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "FactSet's progress header." + "description": "FactSet's request key header." } }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" } }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/pdf": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Invalid Calculation Parameters.", + "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -24435,6 +24873,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -24455,15 +24907,15 @@ } }, "content": { - "application/json": { + "application/pdf": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24479,6 +24931,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -24499,15 +24965,15 @@ } }, "content": { - "application/json": { + "application/pdf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "409": { + "description": "Duplicate calculation exists with same parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24523,6 +24989,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -24543,7 +25023,7 @@ } }, "content": { - "application/json": { + "application/pdf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -24566,6 +25046,20 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } } } }, @@ -24586,6 +25080,122 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -24603,11 +25213,17 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -24622,6 +25238,20 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } } } }, @@ -24641,56 +25271,63 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } } } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", + "status-code": "202", "response-type": "CalculationStatusRoot" }, { - "status-code": "202", + "status-code": "200", "response-type": "CalculationStatusRoot" + }, + { + "status-code": "201", + "response-type": null, + "is-file": true } ] - } - }, - "/analytics/engines/pa/v3/calculations/{id}/units/{unitId}/result": { + }, "get": { "tags": [ - "PACalculations" + "PubCalculations" ], - "summary": "Get PA calculation result by id", - "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", - "operationId": "getCalculationUnitResultById", + "summary": "Get Pub calculation parameters by id", + "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", + "operationId": "getCalculationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Get PA calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get PA calculation status by id endpoint" - } - }, - { - "name": "unitId", - "in": "path", - "description": "from url, provided from the location header in the Get PA calculation status by id endpoint", + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get PA calculation status by id endpoint" + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", + "description": "Expected response, returns the Pub calculation parameters.", "headers": { "Content-Encoding": { "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", @@ -24749,12 +25386,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/PubCalculationParametersRoot" } } } @@ -24800,16 +25432,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "description": "Calculation id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24849,11 +25476,6 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, @@ -24956,54 +25578,32 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ObjectRoot" + "response-type": "PubCalculationParametersRoot" } ] - } - }, - "/analytics/engines/pa/v3/pricing-sources": { - "get": { + }, + "delete": { "tags": [ - "PricingSources" + "PubCalculations" ], - "summary": "Get PA pricing sources", - "description": "This endpoint lists all the PA pricing sources that can be applied to a PA calculation.", - "operationId": "getPAPricingSources", + "summary": "Cancel Pub calculation by id", + "description": "This is the endpoint to cancel a previously submitted calculation.", + "operationId": "cancelCalculationById", "parameters": [ { - "name": "name", - "in": "query", - "description": "PA pricing sources name", - "schema": { - "type": "string", - "description": "PA pricing sources name", - "default": "" - } - }, - { - "name": "category", - "in": "query", - "description": "PA pricing sources category", - "schema": { - "type": "string", - "description": "PA pricing sources category", - "default": "" - } - }, - { - "name": "directory", - "in": "query", - "description": "The directory to get the PA pricing sources in", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", + "required": true, "schema": { "type": "string", - "description": "The directory to get the PA pricing sources in", - "default": "" + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" } } ], "responses": { - "200": { - "description": "Expected response, returns a list of PA pricing sources", + "204": { + "description": "Expected response, calculation was canceled successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25019,13 +25619,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Age": { - "description": "Standard HTTP header. Header will specify the age of pricing sources list cached response.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify the age of pricing sources list cached response." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -25044,17 +25637,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PAPricingSourceRoot" - } - } } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25090,15 +25676,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, "404": { - "description": "Pricing sources not found.", + "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25134,34 +25730,25 @@ } }, "content": { - "application/json": { + "text/plain": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "application/json": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "text/json": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "403": { - "description": "User is forbidden with current credentials", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25176,29 +25763,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25234,33 +25803,8 @@ } } }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -25301,108 +25845,57 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "200", - "response-type": "PAPricingSourceRoot" + "status-code": "204", + "response-type": null } ] } }, - "/analytics/engines/pub/v3/calculations": { - "post": { + "/analytics/engines/pub/v3/calculations/{id}/status": { + "get": { "tags": [ "PubCalculations" ], - "summary": "Create and Run Pub calculation", - "description": "This endpoint runs the Pub calculation specified in the POST body parameters.\r\nIt can take one or more units as input.", - "operationId": "postAndCalculate", + "summary": "Get Pub calculation status by id", + "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.", + "operationId": "getCalculationStatusById", "parameters": [ { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the POST body.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PubCalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response once calculation is completed.", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", "schema": { "type": "string", - "description": "URL to poll for the resulting calculation" + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." } }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + "Content-Type": { + "description": "Standard HTTP header.", "schema": { "type": "string", - "description": "FactSet's request key header." + "description": "Standard HTTP header." } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", "schema": { "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/pdf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." } }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } - } - }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", - "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -25437,21 +25930,30 @@ } }, "content": { - "application/pdf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "application/json": { "schema": { "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "202": { + "description": "Expected response returned if the calculation is not yet completed.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -25486,22 +25988,15 @@ } }, "content": { - "application/pdf": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "application/json": { "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, "400": { - "description": "Invalid calculation parameters.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25537,12 +26032,7 @@ } }, "content": { - "application/pdf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -25550,7 +26040,7 @@ } }, "404": { - "description": "One or more calculation settings were unavailable.", + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25586,12 +26076,7 @@ } }, "content": { - "application/pdf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -25654,88 +26139,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -25773,46 +26178,74 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - }, { "status-code": "200", "response-type": "CalculationStatusRoot" }, { - "status-code": "201", - "response-type": null, - "is-file": true + "status-code": "202", + "response-type": "CalculationStatusRoot" } ] - }, + } + }, + "/analytics/engines/pub/v3/calculations/{id}/units/{unitId}/result": { "get": { "tags": [ "PubCalculations" ], - "summary": "Get all calculations", - "description": "This endpoints returns all calculation requests.", - "operationId": "getAllCalculations", + "summary": "Get Pub calculation result by id", + "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in the specified format.", + "operationId": "getCalculationUnitResultById", "parameters": [ { - "name": "pageNumber", - "in": "query", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint", "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 1 + "type": "string", + "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint" + } + }, + { + "name": "unitId", + "in": "path", + "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint" } } ], "responses": { "200": { - "description": "List of calculation requests.", + "description": "Expected response once calculation is completed, returns result in the format specified in the Calculation parameters.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -25849,13 +26282,26 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationsSummaryRoot" + "type": "string", + "format": "binary" + } + }, + "application/x-protobuf": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "application/pdf": { + "schema": { + "type": "string", + "format": "binary" } } } }, "400": { - "description": "Invalid page number.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25895,11 +26341,21 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/pdf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, "404": { - "description": "No calculation found.", + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25939,30 +26395,21 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "application/x-protobuf": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/pdf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "403": { - "description": "User is forbidden with current credentials.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25977,29 +26424,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26035,33 +26464,8 @@ } } }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -26103,53 +26507,36 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CalculationsSummaryRoot" + "response-type": null, + "is-file": true } ] } }, - "/analytics/engines/pub/v3/calculations/{id}": { - "put": { + "/analytics/engines/quant/v3/calculations": { + "post": { "tags": [ - "PubCalculations" + "QuantCalculations" ], - "summary": "Create or Update Pub calculation and run it.", - "description": "This endpoint updates and run the Pub calculation specified in the PUT body parameters. This also allows creating new Pub calculations with custom ids.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n* Start and and end date must be within the configuration's min and max date range", - "operationId": "putAndCalculate", + "summary": "Create and Run Quant Engine calculation", + "description": "This endpoint runs the Quant Engine calculation specified in the POST body parameters.\r\nIt can take one or more calculation units as input.", + "operationId": "postAndCalculate", "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" - } - }, - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", - "schema": { - "type": "integer" - } - }, { "name": "Cache-Control", "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "description": "Standard HTTP header. Accepts no-store, max-age, max-stale.", "schema": { "type": "string" } } ], "requestBody": { - "description": "Calculation Parameters", + "description": "", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PubCalculationParametersRoot" + "$ref": "#/components/schemas/QuantCalculationParametersRoot" } } } @@ -26179,20 +26566,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26213,15 +26586,20 @@ } }, "content": { - "application/pdf": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { "schema": { "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26237,20 +26615,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26271,15 +26635,20 @@ } }, "content": { - "application/pdf": { + "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ObjectRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "200": { + "description": "Expected response if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26295,20 +26664,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26329,16 +26684,20 @@ } }, "content": { - "application/pdf": { + "application/json": { "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, "400": { - "description": "Invalid Calculation Parameters.", + "description": "Invalid calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26354,20 +26713,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26388,7 +26733,12 @@ } }, "content": { - "application/pdf": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -26412,20 +26762,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26446,15 +26782,20 @@ } }, "content": { - "application/pdf": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "409": { - "description": "Duplicate calculation exists with same parameters.", + "413": { + "description": "Request body too large", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26470,20 +26811,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26504,7 +26831,12 @@ } }, "content": { - "application/pdf": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -26527,20 +26859,6 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } } } }, @@ -26561,20 +26879,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26612,20 +26916,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26663,20 +26953,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26719,20 +26995,6 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } } } }, @@ -26752,20 +27014,6 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } } } } @@ -26777,60 +27025,38 @@ "response-type": "CalculationStatusRoot" }, { - "status-code": "200", - "response-type": "CalculationStatusRoot" + "status-code": "201", + "response-type": "ObjectRoot" }, { - "status-code": "201", - "response-type": null, - "is-file": true + "status-code": "200", + "response-type": "CalculationStatusRoot" } ] }, "get": { "tags": [ - "PubCalculations" + "QuantCalculations" ], - "summary": "Get Pub calculation parameters by id", - "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", - "operationId": "getCalculationParameters", + "summary": "Get all calculations", + "description": "This endpoints returns all calculation requests.", + "operationId": "getAllCalculations", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", + "name": "pageNumber", + "in": "query", "required": true, "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" + "type": "integer", + "format": "int32", + "default": 1 } } ], "responses": { "200": { - "description": "Expected response, returns the Pub calculation parameters.", + "description": "List of calculation requests.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -26867,13 +27093,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PubCalculationParametersRoot" + "$ref": "#/components/schemas/CalculationsSummaryRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid page number.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26917,7 +27143,7 @@ } }, "404": { - "description": "Calculation id not found", + "description": "No calculation found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26980,7 +27206,7 @@ } }, "403": { - "description": "User is forbidden with current credentials", + "description": "User is forbidden with current credentials.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27016,8 +27242,70 @@ } } }, + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -27059,33 +27347,60 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "PubCalculationParametersRoot" + "response-type": "CalculationsSummaryRoot" } ] - }, - "delete": { + } + }, + "/analytics/engines/quant/v3/calculations/{id}": { + "put": { "tags": [ - "PubCalculations" + "QuantCalculations" ], - "summary": "Cancel Pub calculation by id", - "description": "This is the endpoint to cancel a previously submitted calculation.", - "operationId": "cancelCalculationById", + "summary": "Create or update Quant Engine calculation and run it.", + "description": "This endpoint updates and runs the Quant Engine calculation specified in the PUT body parameters. This also allows creating new Quant Engine calculations with custom ids.\r\nIt can take one or more calculation units as input.", + "operationId": "putAndCalculate", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", + "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" + "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts no-store, max-age, max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuantCalculationParametersRoot" + } + } + } + }, "responses": { - "204": { - "description": "Expected response, calculation was canceled successfully.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting calculation", + "schema": { + "type": "string", + "description": "URL to poll for the resulting calculation" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -27118,10 +27433,22 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } } }, - "400": { - "description": "Invalid identifier provided.", + "200": { + "description": "Expected response if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27157,25 +27484,20 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" } }, - "text/json": { + "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "404": { - "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27211,44 +27533,20 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ObjectRoot" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "403": { - "description": "User is forbidden with current credentials", + "400": { + "description": "Invalid Calculation Parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27282,101 +27580,23 @@ "type": "string" } } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "204", - "response-type": null - } - ] - } - }, - "/analytics/engines/pub/v3/calculations/{id}/status": { - "get": { - "tags": [ - "PubCalculations" - ], - "summary": "Get Pub calculation status by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.", - "operationId": "getCalculationStatusById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" - } - } - ], - "responses": { - "200": { - "description": "Expected response once calculation is completed.", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -27413,28 +27633,19 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "202": { - "description": "Expected response returned if the calculation is not yet completed.", + "409": { + "description": "Duplicate calculation exists with same parameters.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -27471,13 +27682,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "413": { + "description": "Request body too large", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27517,11 +27733,35 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27555,17 +27795,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27580,11 +27813,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27617,11 +27868,17 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -27659,52 +27916,44 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", + "status-code": "202", "response-type": "CalculationStatusRoot" }, { - "status-code": "202", + "status-code": "200", "response-type": "CalculationStatusRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/pub/v3/calculations/{id}/units/{unitId}/result": { + }, "get": { "tags": [ - "PubCalculations" + "QuantCalculations" ], - "summary": "Get Pub calculation result by id", - "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in the specified format.", - "operationId": "getCalculationUnitResultById", + "summary": "Get Quant Engine calculation parameters by id", + "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", + "operationId": "getCalculationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint" - } - }, - { - "name": "unitId", - "in": "path", - "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint", + "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint" + "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed, returns result in the format specified in the Calculation parameters.", + "description": "Expected response, returns the Quant Engine calculation parameters.", "headers": { "Content-Encoding": { "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", @@ -27763,20 +28012,7 @@ "content": { "application/json": { "schema": { - "type": "string", - "format": "binary" - } - }, - "application/x-protobuf": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/pdf": { - "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/QuantCalculationParametersRoot" } } } @@ -27822,21 +28058,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/pdf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "description": "Calculation id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27876,16 +28102,6 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/pdf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, @@ -27988,51 +28204,33 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": null, - "is-file": true + "response-type": "QuantCalculationParametersRoot" } ] - } - }, - "/analytics/engines/quant/v3/calculations": { - "post": { + }, + "delete": { "tags": [ "QuantCalculations" ], - "summary": "Create and Run Quant Engine calculation", - "description": "This endpoint runs the Quant Engine calculation specified in the POST body parameters.\r\nIt can take one or more calculation units as input.", - "operationId": "postAndCalculate", + "summary": "Cancel Quant calculation by id", + "description": "This is the endpoint to cancel a previously submitted calculation.", + "operationId": "cancelCalculationById", "parameters": [ { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts no-store, max-age, max-stale.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run Quant calculation endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Create and Run Quant calculation endpoint" } } ], - "requestBody": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/QuantCalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "204": { + "description": "Expected response, calculation was canceled successfully.", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -28065,22 +28263,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28116,20 +28302,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "200": { - "description": "Expected response if the calculation has one unit and is completed with an error.", + "404": { + "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28165,20 +28356,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid calculation parameters.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28193,41 +28389,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28261,22 +28427,29 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28293,10 +28466,62 @@ } } } - }, - "403": { - "description": "User is forbidden with current credentials", + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "204", + "response-type": null + } + ] + } + }, + "/analytics/engines/quant/v3/calculations/{id}/status": { + "get": { + "tags": [ + "QuantCalculations" + ], + "summary": "Get Quant Engine calculation status by id", + "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.\r\nOtherwise, the calculation is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", + "operationId": "getCalculationStatusById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint" + } + } + ], + "responses": { + "200": { + "description": "Expected response once calculation is completed.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -28329,11 +28554,32 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "202": { + "description": "Expected response returned if the calculation is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -28366,10 +28612,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28402,9 +28655,110 @@ "schema": { "type": "string" } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", "schema": { "type": "string" } @@ -28412,7 +28766,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -28450,45 +28804,74 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "202", + "status-code": "200", "response-type": "CalculationStatusRoot" }, { - "status-code": "201", - "response-type": "ObjectRoot" - }, - { - "status-code": "200", + "status-code": "202", "response-type": "CalculationStatusRoot" } ] - }, + } + }, + "/analytics/engines/quant/v3/calculations/{id}/units/{unitId}/result": { "get": { "tags": [ "QuantCalculations" ], - "summary": "Get all calculations", - "description": "This endpoints returns all calculation requests.", - "operationId": "getAllCalculations", + "summary": "Get Quant Engine calculation result by id", + "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", + "operationId": "getCalculationUnitResultById", "parameters": [ { - "name": "pageNumber", - "in": "query", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint", "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 1 + "type": "string", + "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint" + } + }, + { + "name": "unitId", + "in": "path", + "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint" } } ], "responses": { "200": { - "description": "List of calculation requests.", + "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -28525,13 +28908,26 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationsSummaryRoot" + "type": "string", + "format": "binary" + } + }, + "application/x-protobuf": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" } } } }, "400": { - "description": "Invalid page number.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28571,11 +28967,21 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/octet-stream": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, "404": { - "description": "No calculation found.", + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28615,30 +29021,21 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "application/x-protobuf": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/octet-stream": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "403": { - "description": "User is forbidden with current credentials.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28653,29 +29050,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28711,33 +29090,8 @@ } } }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -28779,58 +29133,65 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CalculationsSummaryRoot" + "response-type": null, + "is-file": true } ] } }, - "/analytics/engines/quant/v3/calculations/{id}": { - "put": { + "/analytics/engines/quant/v3/calculations/{id}/units/{unitId}/info": { + "get": { "tags": [ "QuantCalculations" ], - "summary": "Create or update Quant Engine calculation and run it.", - "description": "This endpoint updates and runs the Quant Engine calculation specified in the PUT body parameters. This also allows creating new Quant Engine calculations with custom ids.\r\nIt can take one or more calculation units as input.", - "operationId": "putAndCalculate", + "summary": "Get Quant Engine calculation metadata information by id", + "description": "This is the endpoint to get the metadata information of a previously requested calculation.", + "operationId": "getCalculationUnitInfoById", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint", + "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint" + "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint" } }, { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts no-store, max-age, max-stale.", + "name": "unitId", + "in": "path", + "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/QuantCalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response once calculation is completed.", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", "schema": { "type": "string", - "description": "URL to poll for the resulting calculation" + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." } }, "X-DataDirect-Request-Key": { @@ -28869,18 +29230,26 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "type": "string", + "format": "binary" } }, "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "type": "string", + "format": "binary" + } + }, + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" } } } }, - "200": { - "description": "Expected response if the calculation has one unit and is completed with an error.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28918,18 +29287,23 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/octet-stream": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28967,18 +29341,23 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/octet-stream": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid Calculation Parameters.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28993,41 +29372,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29061,22 +29410,77 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "409": { - "description": "Duplicate calculation exists with same parameters.", + "503": { + "description": "Request timed out. Retry the request in sometime.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": null, + "is-file": true + } + ] + } + }, + "/analytics/security-modeling/v3/securities/retrieve": { + "post": { + "tags": [ + "SecurityModeling" + ], + "summary": "Get existing securities", + "description": "This endpoint gets all existing securities.", + "operationId": "getSecurities", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SMRetrieveParametersRoot" + } + } + } + }, + "responses": { + "200": { + "description": "Expected response, returns a list of existing securities.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29114,12 +29518,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/SMRetrieveResponseRoot" } } } @@ -29180,8 +29579,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29218,7 +29617,7 @@ } }, "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "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.", @@ -29234,37 +29633,19 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + } + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", "description": "FactSet's request key header." @@ -29299,66 +29680,36 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - }, { "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" + "response-type": "SMRetrieveResponseRoot" } ] - }, - "get": { + } + }, + "/analytics/security-modeling/v3/securities/upsert": { + "post": { "tags": [ - "QuantCalculations" + "SecurityModeling" ], - "summary": "Get Quant Engine calculation parameters by id", - "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", - "operationId": "getCalculationParameters", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint" + "summary": "Create or update securities", + "description": "This endpoint is to create or update existing securities.", + "operationId": "upsertSecurities", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SMCreateParametersRoot" + } } } - ], + }, "responses": { "200": { - "description": "Expected response, returns the Quant Engine calculation parameters.", + "description": "Expected response, returns a status of operation along with errors and warnings if found any.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -29395,13 +29746,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/QuantCalculationParametersRoot" + "$ref": "#/components/schemas/SMCreateResponseRoot" } } } }, - "400": { - "description": "Invalid identifier provided.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29435,17 +29805,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Calculation id not found", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29479,36 +29842,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -29524,20 +29861,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -29545,7 +29870,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -29587,32 +29912,31 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "QuantCalculationParametersRoot" + "response-type": "SMCreateResponseRoot" } ] - }, - "delete": { + } + }, + "/analytics/security-modeling/v3/securities/delete": { + "post": { "tags": [ - "QuantCalculations" + "SecurityModeling" ], - "summary": "Cancel Quant calculation by id", - "description": "This is the endpoint to cancel a previously submitted calculation.", - "operationId": "cancelCalculationById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Quant calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Quant calculation endpoint" + "summary": "Delete existing securities", + "description": "This endpoint deletes existing securities.", + "operationId": "deleteSecurities", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SMDeleteParametersRoot" + } } } - ], + }, "responses": { - "204": { - "description": "Expected response, calculation was canceled successfully.", + "200": { + "description": "Expected response, deletes existing securities.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29646,10 +29970,36 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SMDeleteResponseRoot" + } + } } }, - "400": { - "description": "Invalid identifier provided.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29683,27 +30033,10 @@ "type": "string" } } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29737,46 +30070,10 @@ "type": "string" } } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -29792,20 +30089,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -29854,57 +30139,36 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "204", - "response-type": null + "status-code": "200", + "response-type": "SMDeleteResponseRoot" } ] } }, - "/analytics/engines/quant/v3/calculations/{id}/status": { + "/analytics/security-modeling/v3/templates/{template}/fields": { "get": { "tags": [ - "QuantCalculations" + "SecurityModeling" ], - "summary": "Get Quant Engine calculation status by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.\r\nOtherwise, the calculation is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", - "operationId": "getCalculationStatusById", + "summary": "Get template fields", + "description": "This endpoint gets template fields.", + "operationId": "getTemplateFields", "parameters": [ { - "name": "id", + "name": "template", "in": "path", - "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint", + "description": "Template name", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint" + "description": "Template name" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed.", + "description": "Expected response, returns a list of all template fields.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -29941,28 +30205,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/SMTemplateFieldPropertiesRoot" } } } }, - "202": { - "description": "Expected response returned if the calculation is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "400": { + "description": "Invalid template.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -29999,13 +30249,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "404": { + "description": "Template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30048,8 +30298,27 @@ } } }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30083,17 +30352,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30108,11 +30370,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -30128,20 +30408,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -30149,7 +30417,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -30191,70 +30459,36 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "202", - "response-type": "CalculationStatusRoot" + "response-type": "SMTemplateFieldPropertiesRoot" } ] } }, - "/analytics/engines/quant/v3/calculations/{id}/units/{unitId}/result": { + "/analytics/engines/axp/v3/strategies/{path}": { "get": { "tags": [ - "QuantCalculations" + "StrategyDocuments" ], - "summary": "Get Quant Engine calculation result by id", - "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", - "operationId": "getCalculationUnitResultById", + "summary": "Get Axioma Equity strategy documents and sub-directories in a directory", + "description": "This endpoint looks up all Axioma Equity strategy documents and sub-directories in a given directory.", + "operationId": "getAxiomaEquityStrategyDocuments", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint" - } - }, - { - "name": "unitId", + "name": "path", "in": "path", - "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint", + "description": "The directory to get the strategy documents and sub-directories in", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint" + "description": "The directory to get the strategy documents and sub-directories in", + "default": "" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", + "description": "Expected response, returns a list of Axioma Equity strategy documents and directories", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -30291,26 +30525,13 @@ "content": { "application/json": { "schema": { - "type": "string", - "format": "binary" - } - }, - "application/x-protobuf": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30350,21 +30571,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30404,21 +30615,30 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { + } + } + }, + "401": { + "description": "Missing or invalid authentication", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/octet-stream": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30433,11 +30653,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30473,6 +30711,31 @@ } } }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", "headers": { @@ -30493,7 +30756,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30516,67 +30779,36 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": null, - "is-file": true + "response-type": "DocumentDirectoriesRoot" } ] } }, - "/analytics/engines/quant/v3/calculations/{id}/units/{unitId}/info": { + "/analytics/engines/afi/v3/strategies/{path}": { "get": { "tags": [ - "QuantCalculations" + "StrategyDocuments" ], - "summary": "Get Quant Engine calculation metadata information by id", - "description": "This is the endpoint to get the metadata information of a previously requested calculation.", - "operationId": "getCalculationUnitInfoById", + "summary": "Get Axioma FI strategy documents and sub-directories in a directory", + "description": "This endpoint looks up all Axioma FI strategy documents and sub-directories in a given directory.", + "operationId": "getAxiomaFIStrategyDocuments", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint" - } - }, - { - "name": "unitId", + "name": "path", "in": "path", - "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint", + "description": "The directory to get the strategy documents and sub-directories in", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint" + "description": "The directory to get the strategy documents and sub-directories in", + "default": "" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed.", + "description": "Expected response, returns a list of Axioma FI strategy documents and directories", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -30613,26 +30845,13 @@ "content": { "application/json": { "schema": { - "type": "string", - "format": "binary" - } - }, - "application/x-protobuf": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30672,21 +30891,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30726,21 +30935,30 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { + } + } + }, + "401": { + "description": "Missing or invalid authentication", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/octet-stream": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30755,11 +30973,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30795,6 +31031,31 @@ } } }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", "headers": { @@ -30815,7 +31076,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30838,59 +31099,36 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": null, - "is-file": true + "response-type": "DocumentDirectoriesRoot" } ] } }, - "/analytics/engines/spar/v3/calculations": { - "post": { + "/analytics/engines/bpm/v3/strategies/{path}": { + "get": { "tags": [ - "SPARCalculations" + "StrategyDocuments" ], - "summary": "Create and Run SPAR calculation", - "description": "This endpoint runs the SPAR calculation specified in the POST body parameters.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the SPAR template.", - "operationId": "postAndCalculate", + "summary": "Get Barra strategy documents and sub-directories in a directory", + "description": "This endpoint looks up all Barra strategy documents and sub-directories in a given directory.", + "operationId": "getBarraStrategyDocuments", "parameters": [ { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the POST body.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "path", + "in": "path", + "description": "The directory to get the strategy documents and sub-directories in", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "The directory to get the strategy documents and sub-directories in", + "default": "" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SPARCalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response, returns a list of Barra strategy documents and directories", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -30927,18 +31165,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", + "400": { + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30976,67 +31209,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - } - } - }, - "400": { - "description": "Invalid calculation parameters.", + "404": { + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31076,65 +31255,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "One or more calculation settings were unavailable.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "401": { - "description": "Missing or invalid authentication.", + "description": "Missing or invalid authentication", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31189,8 +31314,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31227,7 +31352,7 @@ } }, "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "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.", @@ -31243,24 +31368,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -31270,7 +31377,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -31289,7 +31396,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31308,44 +31415,39 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - }, { "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" + "response-type": "DocumentDirectoriesRoot" } ] - }, + } + }, + "/analytics/engines/npo/v3/strategies/{path}": { "get": { "tags": [ - "SPARCalculations" + "StrategyDocuments" ], - "summary": "Get all calculations", - "description": "This endpoints returns all calculation requests.", - "operationId": "getAllCalculations", + "summary": "Get Northfield strategy documents and sub-directories in a directory", + "description": "This endpoint looks up all Northfield strategy documents and sub-directories in a given directory.", + "operationId": "getNorthfieldStrategyDocuments", "parameters": [ { - "name": "pageNumber", - "in": "query", + "name": "path", + "in": "path", + "description": "The directory to get the strategy documents and sub-directories in", "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 1 + "type": "string", + "description": "The directory to get the strategy documents and sub-directories in", + "default": "" } } ], "responses": { "200": { - "description": "List of calculation requests.", + "description": "Expected response, returns a list of Northfield strategy documents and directories", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31383,13 +31485,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationsSummaryRoot" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, "400": { - "description": "Invalid page number.", + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31433,7 +31535,7 @@ } }, "404": { - "description": "No calculation found.", + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31477,7 +31579,7 @@ } }, "401": { - "description": "Missing or invalid authentication.", + "description": "Missing or invalid authentication", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31496,7 +31598,7 @@ } }, "403": { - "description": "User is forbidden with current credentials.", + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31533,7 +31635,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31595,7 +31697,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -31614,7 +31716,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31637,68 +31739,36 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CalculationsSummaryRoot" + "response-type": "DocumentDirectoriesRoot" } ] } }, - "/analytics/engines/spar/v3/calculations/{id}": { - "put": { + "/analytics/engines/fpo/v3/strategies/{path}": { + "get": { "tags": [ - "SPARCalculations" + "StrategyDocuments" ], - "summary": "Create or Update SPAR calculation and run it.", - "description": "This endpoint updates and run the SPAR calculation specified in the PUT body parameters. This also allows creating new SPAR calculations with custom ids.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n*\tAny settings in PUT body will act as a one-time override over the settings saved in the SPAR template.", - "operationId": "putAndCalculate", + "summary": "Get FactSet Portfolio Optimizer strategy documents and sub-directories in a directory", + "description": "This endpoint looks up all FactSet Portfolio Optimizer strategy documents and sub-directories in a given directory.", + "operationId": "getFPOStrategyDocuments", "parameters": [ { - "name": "id", + "name": "path", "in": "path", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint", + "description": "The directory to get the strategy documents and sub-directories in", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint" - } - }, - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", - "schema": { - "type": "string" + "description": "The directory to get the strategy documents and sub-directories in", + "default": "" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SPARCalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response, returns a list of FactSet Portfolio Optimizer strategy documents and directories", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -31735,18 +31805,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", + "400": { + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31784,18 +31849,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "404": { + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31833,18 +31893,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "401": { + "description": "Missing or invalid authentication", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "400": { - "description": "Invalid Calculation Parameters.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31878,22 +31952,140 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" } } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "503": { + "description": "Request timed out. Retry the request in some time", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": "DocumentDirectoriesRoot" + } + ] + } + }, + "/analytics/engines/pa/v3/templated-components": { + "post": { + "tags": [ + "TemplatedPAComponents" + ], + "summary": "Create templated PA component", + "description": "This endpoint creates new component based off of linked PA template or unlinked PA template.\r\n\r\nRemarks:\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", + "operationId": "createTemplatedPAComponents", + "requestBody": { + "description": "Request Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TemplatedPAComponentParametersRoot" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Expected response, templated PA component created successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31929,20 +32121,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" } } } }, - "409": { - "description": "Duplicate calculation exists with same parameters.", + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31978,12 +32175,17 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -32046,8 +32248,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "404": { + "description": "Template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32083,8 +32285,8 @@ } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32117,6 +32319,25 @@ "schema": { "type": "string" } + } + } + }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", @@ -32165,66 +32386,38 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "200", - "response-type": "CalculationStatusRoot" - }, { "status-code": "201", - "response-type": "ObjectRoot" + "response-type": "TemplatedPAComponentPostSummaryRoot" } ] }, "get": { "tags": [ - "SPARCalculations" + "TemplatedPAComponents" ], - "summary": "Get SPAR calculation parameters by id", - "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", - "operationId": "getCalculationParameters", + "summary": "Get templated PA components in path", + "description": "This endpoint returns the list of templated PA components in path.", + "operationId": "getTemplatedPAComponentsInPath", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint", + "name": "directory", + "in": "query", + "description": "Get templated PA components in path", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint" + "description": "Get templated PA components in path", + "example": "Personal:TemplatedPAComponents/" } } ], "responses": { "200": { - "description": "Expected response, returns the SPAR calculation parameters.", + "description": "Expected response, returns a list templated PA components.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -32261,13 +32454,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SPARCalculationParametersRoot" + "$ref": "#/components/schemas/TemplatedPAComponentSummaryRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32310,8 +32503,27 @@ } } }, - "404": { - "description": "Calculation id not found", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32345,17 +32557,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32370,11 +32575,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -32390,20 +32613,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -32411,7 +32622,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -32453,32 +32664,46 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "SPARCalculationParametersRoot" + "response-type": "TemplatedPAComponentSummaryRoot" } ] - }, - "delete": { + } + }, + "/analytics/engines/pa/v3/templated-components/{id}": { + "put": { "tags": [ - "SPARCalculations" + "TemplatedPAComponents" ], - "summary": "Cancel SPAR calculation", - "description": "This is the endpoint to cancel a previously submitted calculation.", - "operationId": "cancelCalculationById", + "summary": "Update templated PA component", + "description": "This endpoint allows the user to change the request body from an existing templated PA component.\r\n\r\nRemarks:\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", + "operationId": "updateTemplatedPAComponents", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint", + "description": "Unique identifier for a templated PA component", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint" + "description": "Unique identifier for a templated PA component", + "example": "01234567890123456789012345678901" } } ], + "requestBody": { + "description": "Request Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TemplatedPAComponentUpdateParametersRoot" + } + } + }, + "required": true + }, "responses": { - "204": { - "description": "Expected response, calculation was canceled successfully.", + "200": { + "description": "Expected response, updated successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32512,10 +32737,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" + } + } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32551,25 +32783,15 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", + "description": "Component or template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32605,20 +32827,10 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, @@ -32678,6 +32890,68 @@ } } }, + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", "headers": { @@ -32720,57 +32994,35 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "204", - "response-type": null + "status-code": "200", + "response-type": "TemplatedPAComponentPostSummaryRoot" } ] - } - }, - "/analytics/engines/spar/v3/calculations/{id}/status": { + }, "get": { "tags": [ - "SPARCalculations" + "TemplatedPAComponents" ], - "summary": "Get SPAR calculation status by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.", - "operationId": "getCalculationStatusById", + "summary": "Get templated PA component by id", + "description": "This endpoint fetches the templated PA component settings.", + "operationId": "getTemplatedPAComponentById", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint", + "description": "Unique identifier for a templated PA component", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint" + "description": "Unique identifier for a templated PA component", + "example": "01234567890123456789012345678901" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed.", + "description": "Expected response, templated PA component details.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -32807,28 +33059,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/TemplatedPAComponentRoot" } } } }, - "202": { - "description": "Expected response returned if the calculation is not yet completed.", + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -32865,13 +33103,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "404": { + "description": "Templated PA component not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32914,8 +33152,27 @@ } } }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32949,17 +33206,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32974,11 +33224,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -32994,20 +33262,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -33015,7 +33271,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -33057,70 +33313,34 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "202", - "response-type": "CalculationStatusRoot" + "response-type": "TemplatedPAComponentRoot" } ] - } - }, - "/analytics/engines/spar/v3/calculations/{id}/units/{unitId}/result": { - "get": { + }, + "delete": { "tags": [ - "SPARCalculations" + "TemplatedPAComponents" ], - "summary": "Get SPAR calculation result by id", - "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", - "operationId": "getCalculationUnitResultById", + "summary": "Delete templated PA component", + "description": "This endpoint deletes an existing templated PA component", + "operationId": "deleteTemplatedPAComponents", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Get SPAR calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get SPAR calculation status by id endpoint" - } - }, - { - "name": "unitId", - "in": "path", - "description": "from url, provided from the location header in the Get SPAR calculation status by id endpoint", + "description": "Unique identifier for a templated PA component", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get SPAR calculation status by id endpoint" + "description": "Unique identifier for a templated PA component", + "example": "01234567890123456789012345678901" } } ], "responses": { - "200": { - "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", + "204": { + "description": "Expected response, deleted the templated PA component successfully.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -33153,22 +33373,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33204,12 +33412,17 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -33217,7 +33430,7 @@ } }, "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "description": "Component not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33253,12 +33466,17 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -33321,8 +33539,8 @@ } } }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33337,11 +33555,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", + "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.", @@ -33356,43 +33592,17 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "ObjectRoot" - } - ] - } - }, - "/analytics/engines/axp/v3/strategies/{path}": { - "get": { - "tags": [ - "StrategyDocuments" - ], - "summary": "Get Axioma Equity strategy documents and sub-directories in a directory", - "description": "This endpoint looks up all Axioma Equity strategy documents and sub-directories in a given directory.", - "operationId": "getAxiomaEquityStrategyDocuments", - "parameters": [ - { - "name": "path", - "in": "path", - "description": "The directory to get the strategy documents and sub-directories in", - "required": true, - "schema": { - "type": "string", - "description": "The directory to get the strategy documents and sub-directories in", - "default": "" - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns a list of Axioma Equity strategy documents and directories", + }, + "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.", @@ -33407,36 +33617,60 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", + } + } + }, + "503": { + "description": "Request timed out. Retry the request in sometime.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "type": "string" + "type": "string", + "description": "FactSet's request key header." } }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "type": "string" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" - } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "204", + "response-type": null + } + ] + } + }, + "/analytics/engines/pa/v3/unlinked-templates": { + "post": { + "tags": [ + "UnlinkedPATemplates" + ], + "summary": "Create unlinked PA template", + "description": "This endpoint creates a template which is not linked to any specific PA3 tile. \r\n\r\nRemarks:\r\n\r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also \r\n overriding the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", + "operationId": "createUnlinkedPATemplates", + "requestBody": { + "description": "Request Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnlinkedPATemplateParametersRoot" } } }, - "400": { - "description": "Invalid query parameter or value provided", + "required": true + }, + "responses": { + "201": { + "description": "Expected response, created a unlinked PA template.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33474,13 +33708,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/UnlinkedPATemplatePostSummaryRoot" } } } }, - "404": { - "description": "Path not found", + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33524,7 +33758,7 @@ } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33580,7 +33814,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33642,7 +33876,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -33661,7 +33895,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33683,36 +33917,43 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "200", - "response-type": "DocumentDirectoriesRoot" + "status-code": "201", + "response-type": "UnlinkedPATemplatePostSummaryRoot" } ] - } - }, - "/analytics/engines/afi/v3/strategies/{path}": { + }, "get": { "tags": [ - "StrategyDocuments" + "UnlinkedPATemplates" ], - "summary": "Get Axioma FI strategy documents and sub-directories in a directory", - "description": "This endpoint looks up all Axioma FI strategy documents and sub-directories in a given directory.", - "operationId": "getAxiomaFIStrategyDocuments", + "summary": "Get unlinked PA templates", + "description": "This endpoint returns the list of unlinked PA templates.", + "operationId": "getUnlinkedPATemplates", "parameters": [ { - "name": "path", - "in": "path", - "description": "The directory to get the strategy documents and sub-directories in", - "required": true, + "name": "directory", + "in": "query", + "description": "Get unlinked PA templates in path.", "schema": { "type": "string", - "description": "The directory to get the strategy documents and sub-directories in", - "default": "" + "description": "Get unlinked PA templates in path.", + "example": "Personal:UninkedPATemplates/" + } + }, + { + "name": "category", + "in": "query", + "description": "Get unlinked PA templates by category.", + "schema": { + "type": "string", + "description": "Get unlinked PA templates by category.", + "example": "Weights" } } ], "responses": { "200": { - "description": "Expected response, returns a list of Axioma FI strategy documents and directories", + "description": "Expected response, returns a list of unlinked PA templates.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33750,57 +33991,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" + "$ref": "#/components/schemas/UnlinkedPATemplateSummaryRoot" } } } }, "400": { - "description": "Invalid query parameter or value provided", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "Path not found", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33844,7 +34041,7 @@ } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33900,7 +34097,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33962,7 +34159,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -33981,7 +34178,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34004,35 +34201,46 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DocumentDirectoriesRoot" + "response-type": "UnlinkedPATemplateSummaryRoot" } ] } }, - "/analytics/engines/bpm/v3/strategies/{path}": { - "get": { + "/analytics/engines/pa/v3/unlinked-templates/{id}": { + "put": { "tags": [ - "StrategyDocuments" + "UnlinkedPATemplates" ], - "summary": "Get Barra strategy documents and sub-directories in a directory", - "description": "This endpoint looks up all Barra strategy documents and sub-directories in a given directory.", - "operationId": "getBarraStrategyDocuments", + "summary": "Update unlinked PA template", + "description": "This endpoint updates an existing unlinked PA template.\r\n\r\nRemarks:\r\n \r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", + "operationId": "updateUnlinkedPATemplates", "parameters": [ { - "name": "path", + "name": "id", "in": "path", - "description": "The directory to get the strategy documents and sub-directories in", + "description": "Unique identifier for an unlinked PA template", "required": true, "schema": { "type": "string", - "description": "The directory to get the strategy documents and sub-directories in", - "default": "" + "description": "Unique identifier for an unlinked PA template", + "example": "01234567890123456789012345678901" } } ], + "requestBody": { + "description": "Request Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnlinkedPATemplateUpdateParametersRoot" + } + } + }, + "required": true + }, "responses": { "200": { - "description": "Expected response, returns a list of Barra strategy documents and directories", + "description": "Expected response, updated the unlinked PA template.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34070,13 +34278,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" + "$ref": "#/components/schemas/UnlinkedPATemplatePostSummaryRoot" } } } }, "400": { - "description": "Invalid query parameter or value provided", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34120,7 +34328,7 @@ } }, "404": { - "description": "Path not found", + "description": "Template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34164,7 +34372,7 @@ } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34220,7 +34428,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34282,7 +34490,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -34301,7 +34509,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34324,35 +34532,33 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DocumentDirectoriesRoot" + "response-type": "UnlinkedPATemplatePostSummaryRoot" } ] - } - }, - "/analytics/engines/npo/v3/strategies/{path}": { - "get": { + }, + "delete": { "tags": [ - "StrategyDocuments" + "UnlinkedPATemplates" ], - "summary": "Get Northfield strategy documents and sub-directories in a directory", - "description": "This endpoint looks up all Northfield strategy documents and sub-directories in a given directory.", - "operationId": "getNorthfieldStrategyDocuments", + "summary": "Delete unlinked PA template", + "description": "This endpoint deletes an existing unliked PA template.", + "operationId": "deleteUnlinkedPATemplates", "parameters": [ { - "name": "path", + "name": "id", "in": "path", - "description": "The directory to get the strategy documents and sub-directories in", + "description": "Unique identifier for an unlinked PA template", "required": true, "schema": { "type": "string", - "description": "The directory to get the strategy documents and sub-directories in", - "default": "" + "description": "Unique identifier for an unlinked PA template", + "example": "01234567890123456789012345678901" } } ], "responses": { - "200": { - "description": "Expected response, returns a list of Northfield strategy documents and directories", + "204": { + "description": "Expected response, deleted the unlinked PA template successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34386,17 +34592,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" - } - } } }, "400": { - "description": "Invalid query parameter or value provided", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34440,7 +34639,7 @@ } }, "404": { - "description": "Path not found", + "description": "Template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34484,7 +34683,7 @@ } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34540,7 +34739,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34602,7 +34801,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -34621,7 +34820,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34643,36 +34842,34 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "200", - "response-type": "DocumentDirectoriesRoot" + "status-code": "204", + "response-type": null } ] - } - }, - "/analytics/engines/fpo/v3/strategies/{path}": { + }, "get": { "tags": [ - "StrategyDocuments" + "UnlinkedPATemplates" ], - "summary": "Get FactSet Portfolio Optimizer strategy documents and sub-directories in a directory", - "description": "This endpoint looks up all FactSet Portfolio Optimizer strategy documents and sub-directories in a given directory.", - "operationId": "getFPOStrategyDocuments", + "summary": "Get unlinked PA template details by id", + "description": "This endpoint fetches the template settings.", + "operationId": "getUnlinkedPATemplatesById", "parameters": [ { - "name": "path", + "name": "id", "in": "path", - "description": "The directory to get the strategy documents and sub-directories in", + "description": "Unique identifier for an unlinked PA template", "required": true, "schema": { "type": "string", - "description": "The directory to get the strategy documents and sub-directories in", - "default": "" + "description": "Unique identifier for an unlinked PA template", + "example": "01234567890123456789012345678901" } } ], "responses": { "200": { - "description": "Expected response, returns a list of FactSet Portfolio Optimizer strategy documents and directories", + "description": "Expected response, get details of the unlinked PA template.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34710,13 +34907,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" + "$ref": "#/components/schemas/UnlinkedPATemplateRoot" } } } }, "400": { - "description": "Invalid query parameter or value provided", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34760,7 +34957,7 @@ } }, "404": { - "description": "Path not found", + "description": "Template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34804,7 +35001,7 @@ } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34860,7 +35057,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34922,7 +35119,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -34941,7 +35138,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34964,87 +35161,22 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DocumentDirectoriesRoot" + "response-type": "UnlinkedPATemplateRoot" } ] } }, - "/analytics/engines/pa/v3/templated-components": { - "post": { + "/analytics/engines/pa/v3/unlinked-templates/template-types": { + "get": { "tags": [ - "TemplatedPAComponents" + "UnlinkedPATemplates" ], - "summary": "Create templated PA component", - "description": "This endpoint creates new component based off of linked PA template or unlinked PA template.\r\n\r\nRemarks:\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", - "operationId": "createTemplatedPAComponents", - "requestBody": { - "description": "Request Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentParametersRoot" - } - } - }, - "required": true - }, + "summary": "Get default unlinked PA template types.", + "description": "This endpoint fetches default unlinked PA template types.", + "operationId": "getDefaultUnlinkedPATemplateTypes", "responses": { - "201": { - "description": "Expected response, templated PA component created successfully.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" - } - } - } - }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "200": { + "description": "Expected response, default unlinked PA template types", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -35080,19 +35212,9 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/UnlinkedPATemplateCategoryAndTypeRoot" } } } @@ -35153,43 +35275,6 @@ } } }, - "404": { - "description": "Template not found.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, "406": { "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { @@ -35294,33 +35379,35 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "201", - "response-type": "TemplatedPAComponentPostSummaryRoot" + "status-code": "200", + "response-type": "UnlinkedPATemplateCategoryAndTypeRoot" } ] - }, + } + }, + "/analytics/engines/pa/v3/unlinked-templates/template-types/{id}": { "get": { "tags": [ - "TemplatedPAComponents" + "UnlinkedPATemplates" ], - "summary": "Get templated PA components in path", - "description": "This endpoint returns the list of templated PA components in path.", - "operationId": "getTemplatedPAComponentsInPath", + "summary": "Get unlinked PA template type details by id.", + "description": "This endpoint fetches the unlinked PA template type details.", + "operationId": "getDetailsType", "parameters": [ { - "name": "directory", - "in": "query", - "description": "Get templated PA components in path", + "name": "id", + "in": "path", + "description": "Unique identifier for an unlinked PA template type", "required": true, "schema": { "type": "string", - "description": "Get templated PA components in path" + "description": "Unique identifier for an unlinked PA template type" } } ], "responses": { "200": { - "description": "Expected response, returns a list templated PA components.", + "description": "Expected response, details of the unlinked PA template type", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -35358,7 +35445,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentSummaryRoot" + "$ref": "#/components/schemas/UnlinkedPATemplateCategoryAndTypeDetailsRoot" } } } @@ -35407,6 +35494,50 @@ } } }, + "404": { + "description": "Unlinked PA template type not found.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, "401": { "description": "Missing or invalid authentication.", "headers": { @@ -35568,45 +35699,53 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "TemplatedPAComponentSummaryRoot" + "response-type": "UnlinkedPATemplateCategoryAndTypeDetailsRoot" } ] } }, - "/analytics/engines/pa/v3/templated-components/{id}": { - "put": { + "/analytics/engines/vault/v3/load/{batchId}": { + "post": { "tags": [ - "TemplatedPAComponents" + "Vault Attribution Loader" ], - "summary": "Update templated PA component", - "description": "This endpoint allows the user to change the request body from an existing templated PA component.\r\n\r\nRemarks:\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", - "operationId": "updateTemplatedPAComponents", + "summary": "Vault - External Attribution Loader", + "description": "This endpoint loads Vault External Attributions.", + "operationId": "vaultAttributionLoader", "parameters": [ { - "name": "id", + "name": "batchId", "in": "path", - "description": "Unique identifier for a templated PA component", "required": true, "schema": { - "type": "string", - "description": "Unique identifier for a templated PA component" + "type": "string" } } ], "requestBody": { - "description": "Request Parameters", "content": { - "application/json": { + "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentUpdateParametersRoot" + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary", + "nullable": true + } + } + }, + "encoding": { + "file": { + "style": "form" + } } } - }, - "required": true + } }, "responses": { "200": { - "description": "Expected response, updated successfully.", + "description": "Expected response, returns a status of operation along with errors and warnings if found any.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -35644,57 +35783,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" + "$ref": "#/components/schemas/VaultAttributionLoaderResponseRoot" } } } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "Component or template not found.", + "description": "Bad Request", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -35898,33 +35993,58 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "TemplatedPAComponentPostSummaryRoot" + "response-type": "VaultAttributionLoaderResponseRoot" } ] - }, - "get": { + } + }, + "/analytics/engines/vault/v3/calculations": { + "post": { "tags": [ - "TemplatedPAComponents" + "VaultCalculations" ], - "summary": "Get templated PA component by id", - "description": "This endpoint fetches the templated PA component settings.", - "operationId": "getTemplatedPAComponentById", + "summary": "Create and Run Vault calculation", + "description": "This endpoint runs the Vault calculation specified in the POST body parameters.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n* Start and and end date must be within the configuration's min and max date range", + "operationId": "postAndCalculate", "parameters": [ { - "name": "id", - "in": "path", - "description": "Unique identifier for a templated PA component", - "required": true, + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds when only one unit is passed in the POST body.", "schema": { - "type": "string", - "description": "Unique identifier for a templated PA component" + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VaultCalculationParametersRoot" + } + } + } + }, "responses": { - "200": { - "description": "Expected response, templated PA component details.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting calculation", + "schema": { + "type": "string", + "description": "URL to poll for the resulting calculation" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -35961,13 +36081,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentRoot" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "200": { + "description": "Expected response, if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36005,13 +36130,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "404": { - "description": "Templated PA component not found.", + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36049,13 +36179,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "401": { - "description": "Missing or invalid authentication.", + "400": { + "description": "Invalid calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36070,11 +36205,41 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36108,10 +36273,78 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36148,7 +36381,7 @@ } }, "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36164,6 +36397,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -36211,36 +36462,44 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ + { + "status-code": "202", + "response-type": "CalculationStatusRoot" + }, { "status-code": "200", - "response-type": "TemplatedPAComponentRoot" + "response-type": "CalculationStatusRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] }, - "delete": { + "get": { "tags": [ - "TemplatedPAComponents" + "VaultCalculations" ], - "summary": "Delete templated PA component", - "description": "This endpoint deletes an existing templated PA component", - "operationId": "deleteTemplatedPAComponents", + "summary": "Get all calculations", + "description": "This endpoints returns all calculation requests.", + "operationId": "getAllCalculations", "parameters": [ { - "name": "id", - "in": "path", - "description": "Unique identifier for a templated PA component", + "name": "pageNumber", + "in": "query", "required": true, "schema": { - "type": "string", - "description": "Unique identifier for a templated PA component" + "type": "integer", + "format": "int32", + "default": 1 } } ], "responses": { - "204": { - "description": "Expected response, deleted the templated PA component successfully.", + "200": { + "description": "List of calculation requests.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36274,10 +36533,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationsSummaryRoot" + } + } } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid page number.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36313,25 +36579,15 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "Component not found.", + "description": "No calculation found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36367,20 +36623,10 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, @@ -36404,7 +36650,7 @@ } }, "403": { - "description": "User is forbidden with current credentials", + "description": "User is forbidden with current credentials.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36544,35 +36790,69 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "204", - "response-type": null + "status-code": "200", + "response-type": "CalculationsSummaryRoot" } ] } }, - "/analytics/engines/pa/v3/unlinked-templates": { - "post": { + "/analytics/engines/vault/v3/calculations/{id}": { + "put": { "tags": [ - "UnlinkedPATemplates" + "VaultCalculations" + ], + "summary": "Create or Update Vault calculation and run it.", + "description": "This endpoint updates and run the Vault calculation specified in the PUT body parameters. This also allows creating new Vault calculations with custom ids.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n* Start and and end date must be within the configuration's min and max date range", + "operationId": "putAndCalculate", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" + } + }, + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", + "schema": { + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" + } + } ], - "summary": "Create unlinked PA template", - "description": "This endpoint creates a template which is not linked to any specific PA3 tile. \r\n\r\nRemarks:\r\n\r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also \r\n overriding the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", - "operationId": "createUnlinkedPATemplates", "requestBody": { - "description": "Request Parameters", + "description": "Calculation Parameters", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplateParametersRoot" + "$ref": "#/components/schemas/VaultCalculationParametersRoot" } } - }, - "required": true + } }, "responses": { - "201": { - "description": "Expected response, created a unlinked PA template.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting calculation", + "schema": { + "type": "string", + "description": "URL to poll for the resulting calculation" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -36609,13 +36889,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplatePostSummaryRoot" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "200": { + "description": "Expected response, if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36653,32 +36938,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/CalculationStatusRoot" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "403": { - "description": "User is forbidden with current credentials", + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36712,10 +36983,22 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "400": { + "description": "Invalid Calculation Parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36749,110 +37032,22 @@ "type": "string" } } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "201", - "response-type": "UnlinkedPATemplatePostSummaryRoot" - } - ] - }, - "get": { - "tags": [ - "UnlinkedPATemplates" - ], - "summary": "Get unlinked PA templates", - "description": "This endpoint returns the list of unlinked PA templates.", - "operationId": "getUnlinkedPATemplates", - "parameters": [ - { - "name": "directory", - "in": "query", - "description": "Get unlinked PA templates in path.", - "schema": { - "type": "string", - "description": "Get unlinked PA templates in path." - } }, - { - "name": "category", - "in": "query", - "description": "Get unlinked PA templates by category.", - "schema": { - "type": "string", - "description": "Get unlinked PA templates by category." - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns a list of unlinked PA templates.", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36890,13 +37085,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplateSummaryRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "409": { + "description": "Duplicate calculation exists with same parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36936,6 +37136,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, @@ -36995,8 +37200,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37033,7 +37238,7 @@ } }, "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37049,6 +37254,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -37096,50 +37319,66 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ + { + "status-code": "202", + "response-type": "CalculationStatusRoot" + }, { "status-code": "200", - "response-type": "UnlinkedPATemplateSummaryRoot" + "response-type": "CalculationStatusRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/pa/v3/unlinked-templates/{id}": { - "put": { + }, + "get": { "tags": [ - "UnlinkedPATemplates" + "VaultCalculations" ], - "summary": "Update unlinked PA template", - "description": "This endpoint updates an existing unlinked PA template.\r\n\r\nRemarks:\r\n \r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", - "operationId": "updateUnlinkedPATemplates", + "summary": "Get Vault calculation parameters by id", + "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", + "operationId": "getCalculationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for an unlinked PA template", + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", "required": true, "schema": { "type": "string", - "description": "Unique identifier for an unlinked PA template" + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" } } ], - "requestBody": { - "description": "Request Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplateUpdateParametersRoot" - } - } - }, - "required": true - }, "responses": { "200": { - "description": "Expected response, updated the unlinked PA template.", + "description": "Expected response, returns the Vault calculation parameters.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -37176,13 +37415,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplatePostSummaryRoot" + "$ref": "#/components/schemas/VaultCalculationParametersRoot" } } } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37226,7 +37465,7 @@ } }, "404": { - "description": "Template not found.", + "description": "Calculation id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37325,70 +37564,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -37430,32 +37607,32 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "UnlinkedPATemplatePostSummaryRoot" + "response-type": "VaultCalculationParametersRoot" } ] }, "delete": { "tags": [ - "UnlinkedPATemplates" + "VaultCalculations" ], - "summary": "Delete unlinked PA template", - "description": "This endpoint deletes an existing unliked PA template.", - "operationId": "deleteUnlinkedPATemplates", + "summary": "Cancel Vault calculation by id", + "description": "This is the endpoint to cancel a previously submitted calculation.", + "operationId": "cancelCalculationById", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for an unlinked PA template", + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", "required": true, "schema": { "type": "string", - "description": "Unique identifier for an unlinked PA template" + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" } } ], "responses": { "204": { - "description": "Expected response, deleted the unlinked PA template successfully.", + "description": "Expected response, calculation was canceled successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37492,7 +37669,7 @@ } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37528,15 +37705,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, "404": { - "description": "Template not found.", + "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37572,34 +37759,25 @@ } }, "content": { - "application/json": { + "text/plain": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "application/json": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "text/json": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "403": { - "description": "User is forbidden with current credentials", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37614,29 +37792,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37672,31 +37832,6 @@ } } }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", "headers": { @@ -37743,30 +37878,53 @@ "response-type": null } ] - }, + } + }, + "/analytics/engines/vault/v3/calculations/{id}/status": { "get": { "tags": [ - "UnlinkedPATemplates" + "VaultCalculations" ], - "summary": "Get unlinked PA template details by id", - "description": "This endpoint fetches the template settings.", - "operationId": "getUnlinkedPATemplatesById", + "summary": "Get Vault calculation status by id", + "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.", + "operationId": "getCalculationStatusById", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for an unlinked PA template", + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", "required": true, "schema": { "type": "string", - "description": "Unique identifier for an unlinked PA template" + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" } } ], "responses": { "200": { - "description": "Expected response, get details of the unlinked PA template.", + "description": "Expected response once calculation is completed.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -37803,14 +37961,28 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplateRoot" + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "202": { + "description": "Expected response returned if the calculation is not yet completed.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -37847,13 +38019,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "404": { - "description": "Template not found.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37896,27 +38068,8 @@ } } }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37950,10 +38103,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37968,29 +38128,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -38006,8 +38148,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", "schema": { "type": "string" } @@ -38015,7 +38169,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -38057,23 +38211,70 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "UnlinkedPATemplateRoot" + "response-type": "CalculationStatusRoot" + }, + { + "status-code": "202", + "response-type": "CalculationStatusRoot" } ] } }, - "/analytics/engines/pa/v3/unlinked-templates/template-types": { + "/analytics/engines/vault/v3/calculations/{id}/units/{unitId}/result": { "get": { "tags": [ - "UnlinkedPATemplates" + "VaultCalculations" + ], + "summary": "Get Vault calculation result by id", + "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", + "operationId": "getCalculationUnitResultById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint" + } + }, + { + "name": "unitId", + "in": "path", + "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint" + } + } ], - "summary": "Get default unlinked PA template types.", - "description": "This endpoint fetches default unlinked PA template types.", - "operationId": "getDefaultUnlinkedPATemplateTypes", "responses": { "200": { - "description": "Expected response, default unlinked PA template types", + "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -38110,200 +38311,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplateCategoryAndTypeRoot" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ObjectRoot" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "UnlinkedPATemplateCategoryAndTypeRoot" - } - ] - } - }, - "/analytics/engines/pa/v3/unlinked-templates/template-types/{id}": { - "get": { - "tags": [ - "UnlinkedPATemplates" - ], - "summary": "Get unlinked PA template type details by id.", - "description": "This endpoint fetches the unlinked PA template type details.", - "operationId": "getDetailsType", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Unique identifier for an unlinked PA template type", - "required": true, - "schema": { - "type": "string", - "description": "Unique identifier for an unlinked PA template type" - } - } - ], - "responses": { - "200": { - "description": "Expected response, details of the unlinked PA template type", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -38341,49 +38360,10 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplateCategoryAndTypeDetailsRoot" - } - } - } - }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/x-protobuf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -38391,7 +38371,7 @@ } }, "404": { - "description": "Unlinked PA template type not found.", + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -38431,6 +38411,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, @@ -38490,70 +38475,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -38595,2674 +38518,104 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "UnlinkedPATemplateCategoryAndTypeDetailsRoot" + "response-type": "ObjectRoot" } ] } - }, - "/analytics/engines/vault/v3/calculations": { - "post": { - "tags": [ - "VaultCalculations" - ], - "summary": "Create and Run Vault calculation", - "description": "This endpoint runs the Vault calculation specified in the POST body parameters.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n* Start and and end date must be within the configuration's min and max date range", - "operationId": "postAndCalculate", - "parameters": [ - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the POST body.", - "schema": { - "type": "integer" - } + } + }, + "components": { + "schemas": { + "AccountDirectories": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of account and composite files." }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", - "schema": { + "directories": { + "type": "array", + "items": { "type": "string" - } + }, + "description": "List of directories." } + } + }, + "AccountDirectoriesRoot": { + "required": [ + "data" ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VaultCalculationParametersRoot" - } + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AccountDirectories" + }, + "meta": { + "type": "object" + } + } + }, + "ErrorSource": { + "type": "object", + "properties": { + "pointer": { + "type": "string" + }, + "parameter": { + "type": "string" + } + } + }, + "Error": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "detail": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/ErrorSource" + } + } + }, + "ClientErrorResponse": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Error" } } - }, - "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", - "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } + } + }, + "AFIOptimizerStrategyOverrides": { + "type": "object", + "properties": { + "objective": { + "type": "string", + "description": "Objective" + }, + "tax": { + "type": "string", + "description": "Tax" + }, + "constraints": { + "type": "object", + "additionalProperties": { + "enum": [ + "Disable", + "Enable" + ], + "type": "string" }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } - } - }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } - } - }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - } - } - }, - "400": { - "description": "Invalid calculation parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "One or more calculation settings were unavailable.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": true, - "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" - } - ] - }, - "get": { - "tags": [ - "VaultCalculations" - ], - "summary": "Get all calculations", - "description": "This endpoints returns all calculation requests.", - "operationId": "getAllCalculations", - "parameters": [ - { - "name": "pageNumber", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "default": 1 - } - } - ], - "responses": { - "200": { - "description": "List of calculation requests.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationsSummaryRoot" - } - } - } - }, - "400": { - "description": "Invalid page number.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "No calculation found.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "CalculationsSummaryRoot" - } - ] - } - }, - "/analytics/engines/vault/v3/calculations/{id}": { - "put": { - "tags": [ - "VaultCalculations" - ], - "summary": "Create or Update Vault calculation and run it.", - "description": "This endpoint updates and run the Vault calculation specified in the PUT body parameters. This also allows creating new Vault calculations with custom ids.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n* Start and and end date must be within the configuration's min and max date range", - "operationId": "putAndCalculate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" - } - }, - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VaultCalculationParametersRoot" - } - } - } - }, - "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", - "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } - } - }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } - } - }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - } - } - }, - "400": { - "description": "Invalid Calculation Parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "One or more calculation settings were unavailable.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "409": { - "description": "Duplicate calculation exists with same parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": true, - "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" - } - ] - }, - "get": { - "tags": [ - "VaultCalculations" - ], - "summary": "Get Vault calculation parameters by id", - "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", - "operationId": "getCalculationParameters", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns the Vault calculation parameters.", - "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VaultCalculationParametersRoot" - } - } - } - }, - "400": { - "description": "Invalid identifier provided.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "Calculation id not found", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "VaultCalculationParametersRoot" - } - ] - }, - "delete": { - "tags": [ - "VaultCalculations" - ], - "summary": "Cancel Vault calculation by id", - "description": "This is the endpoint to cancel a previously submitted calculation.", - "operationId": "cancelCalculationById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" - } - } - ], - "responses": { - "204": { - "description": "Expected response, calculation was canceled successfully.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "400": { - "description": "Invalid identifier provided.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "204", - "response-type": null - } - ] - } - }, - "/analytics/engines/vault/v3/calculations/{id}/status": { - "get": { - "tags": [ - "VaultCalculations" - ], - "summary": "Get Vault calculation status by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.", - "operationId": "getCalculationStatusById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" - } - } - ], - "responses": { - "200": { - "description": "Expected response once calculation is completed.", - "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } - } - }, - "202": { - "description": "Expected response returned if the calculation is not yet completed.", - "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } - } - }, - "400": { - "description": "Invalid identifier provided.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - } - ] - } - }, - "/analytics/engines/vault/v3/calculations/{id}/units/{unitId}/result": { - "get": { - "tags": [ - "VaultCalculations" - ], - "summary": "Get Vault calculation result by id", - "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", - "operationId": "getCalculationUnitResultById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint" - } - }, - { - "name": "unitId", - "in": "path", - "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint" - } - } - ], - "responses": { - "200": { - "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", - "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - } - } - }, - "400": { - "description": "Invalid identifier provided.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "ObjectRoot" - } - ] - } - } - }, - "components": { - "schemas": { - "ReturnType": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "additionalProperties": false - }, - "SPARAccounts": { - "type": "object", - "properties": { - "returnsType": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ReturnType" - }, - "description": "List of SPAR returnsType" - } - }, - "additionalProperties": false - }, - "SPARAccountsRoot": { - "required": [ - "data" - ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/SPARAccounts" - }, - "meta": { - "type": "object" - } - }, - "additionalProperties": false - }, - "ErrorSource": { - "type": "object", - "properties": { - "pointer": { - "type": "string" - }, - "parameter": { - "type": "string" - } - }, - "additionalProperties": false - }, - "Error": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "detail": { - "type": "string" - }, - "source": { - "$ref": "#/components/schemas/ErrorSource" - } - }, - "additionalProperties": false - }, - "ClientErrorResponse": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Error" - } - } - }, - "additionalProperties": false - }, - "AccountDirectories": { - "type": "object", - "properties": { - "accounts": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of account and composite files." - }, - "directories": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of directories." - } - }, - "additionalProperties": false - }, - "AccountDirectoriesRoot": { - "required": [ - "data" - ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/AccountDirectories" - }, - "meta": { - "type": "object" - } - }, - "additionalProperties": false - }, - "AFIOptimizerStrategyOverrides": { - "type": "object", - "properties": { - "objective": { - "type": "string", - "description": "Objective" - }, - "tax": { - "type": "string", - "description": "Tax" - }, - "constraints": { - "type": "object", - "additionalProperties": { - "enum": [ - "Disable", - "Enable" - ], - "type": "string" - }, - "description": "List of constraints" + "description": "List of constraints" }, "alpha": { "type": "string", @@ -41272,8 +38625,7 @@ "type": "string", "description": "Transaction cost" } - }, - "additionalProperties": false + } }, "AFIOptimizerStrategy": { "required": [ @@ -41288,8 +38640,7 @@ "type": "string", "description": "OptimizerStrategy document path" } - }, - "additionalProperties": false + } }, "OptimizerAccountOverrides": { "type": "object", @@ -41310,8 +38661,7 @@ "type": "string", "description": "Currency" } - }, - "additionalProperties": false + } }, "OptimizerAccount": { "type": "object", @@ -41323,8 +38673,7 @@ "overrides": { "$ref": "#/components/schemas/OptimizerAccountOverrides" } - }, - "additionalProperties": false + } }, "Optimization": { "type": "object", @@ -41341,8 +38690,7 @@ "type": "string", "description": "Cash flow" } - }, - "additionalProperties": false + } }, "OptimizerTradesList": { "type": "object", @@ -41367,8 +38715,7 @@ "type": "boolean", "description": "Include cash" } - }, - "additionalProperties": false + } }, "OptimizerOptimalHoldings": { "type": "object", @@ -41397,8 +38744,7 @@ "type": "boolean", "description": "Exclude zero" } - }, - "additionalProperties": false + } }, "OptimalPortfolio": { "type": "object", @@ -41433,12 +38779,10 @@ "type": "string", "description": "Action if ofdb date exists" } - }, - "additionalProperties": false + } }, "OptimizerStats": { - "type": "object", - "additionalProperties": false + "type": "object" }, "OptimizerOutputTypes": { "type": "object", @@ -41455,8 +38799,7 @@ "stats": { "$ref": "#/components/schemas/OptimizerStats" } - }, - "additionalProperties": false + } }, "AFIOptimizationParameters": { "required": [ @@ -41477,12 +38820,10 @@ "outputTypes": { "$ref": "#/components/schemas/OptimizerOutputTypes" } - }, - "additionalProperties": false + } }, "OptimizerCalculationMeta": { - "type": "object", - "additionalProperties": false + "type": "object" }, "AFIOptimizationParametersRoot": { "type": "object", @@ -41493,8 +38834,7 @@ "meta": { "$ref": "#/components/schemas/OptimizerCalculationMeta" } - }, - "additionalProperties": false + } }, "CalculationInfo": { "type": "object", @@ -41503,8 +38843,7 @@ "type": "string", "description": "Calculation identifier" } - }, - "additionalProperties": false + } }, "CalculationInfoRoot": { "required": [ @@ -41518,8 +38857,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "ObjectRoot": { "required": [ @@ -41533,8 +38871,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "AxiomaEquityOptimizerStrategyOverrides": { "type": "object", @@ -41566,8 +38903,7 @@ "type": "string", "description": "Transaction cost" } - }, - "additionalProperties": false + } }, "AxiomaEquityOptimizerStrategy": { "required": [ @@ -41582,8 +38918,7 @@ "type": "string", "description": "OptimizerStrategy document path" } - }, - "additionalProperties": false + } }, "AxiomaEquityOptimizationParameters": { "required": [ @@ -41604,8 +38939,7 @@ "outputTypes": { "$ref": "#/components/schemas/OptimizerOutputTypes" } - }, - "additionalProperties": false + } }, "AxiomaEquityOptimizationParametersRoot": { "type": "object", @@ -41616,66 +38950,7 @@ "meta": { "$ref": "#/components/schemas/OptimizerCalculationMeta" } - }, - "additionalProperties": false - }, - "SPARIdentifier": { - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "User's FactSet account OR benchmark id." - }, - "returntype": { - "type": "string", - "description": "Benchmark return type." - }, - "prefix": { - "type": "string", - "description": "Benchmark prefix." - } - }, - "additionalProperties": false, - "description": "The account/benchmark parameter for SPAR calculation." - }, - "SPARBenchmark": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Benchmark identifier" - }, - "name": { - "type": "string", - "description": "Benchmark Name" - }, - "identifiers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SPARIdentifier" - }, - "description": "List of SPAR identifiers" - } - }, - "additionalProperties": false - }, - "SPARBenchmarkRoot": { - "required": [ - "data" - ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/SPARBenchmark" - }, - "meta": { - "type": "object" - } - }, - "additionalProperties": false + } }, "ConstraintAction": { "type": "object", @@ -41690,8 +38965,7 @@ ], "type": "string" } - }, - "additionalProperties": false + } }, "BPMOptimizerStrategyAlphaOverride": { "type": "object", @@ -41712,8 +38986,7 @@ "returnMultiplier": { "type": "string" } - }, - "additionalProperties": false + } }, "BPMOptimizerStrategyOverrides": { "type": "object", @@ -41736,8 +39009,7 @@ "type": "string", "description": "Transaction cost\r\nCan be set to \"\" for local" } - }, - "additionalProperties": false + } }, "BPMOptimizerStrategy": { "required": [ @@ -41752,8 +39024,7 @@ "type": "string", "description": "OptimizerStrategy document path" } - }, - "additionalProperties": false + } }, "BPMOptimization": { "type": "object", @@ -41778,8 +39049,7 @@ "type": "string", "description": "Cash flow" } - }, - "additionalProperties": false + } }, "BPMOptimizationParameters": { "required": [ @@ -41800,8 +39070,7 @@ "outputTypes": { "$ref": "#/components/schemas/OptimizerOutputTypes" } - }, - "additionalProperties": false + } }, "BPMOptimizationParametersRoot": { "type": "object", @@ -41812,8 +39081,7 @@ "meta": { "$ref": "#/components/schemas/OptimizerCalculationMeta" } - }, - "additionalProperties": false + } }, "ColumnSummary": { "type": "object", @@ -41831,7 +39099,6 @@ "description": "Column Category" } }, - "additionalProperties": false, "description": "Column settings (name, directory, category)" }, "ColumnSummaryRoot": { @@ -41849,8 +39116,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "Column": { "type": "object", @@ -41874,8 +39140,7 @@ "type": "string", "description": "Column Category" } - }, - "additionalProperties": false + } }, "ColumnRoot": { "required": [ @@ -41889,8 +39154,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "ColumnStatistic": { "type": "object", @@ -41899,8 +39163,7 @@ "type": "string", "description": "Column Statistic Name" } - }, - "additionalProperties": false + } }, "ColumnStatisticRoot": { "required": [ @@ -41917,8 +39180,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "ComponentSummary": { "type": "object", @@ -41931,8 +39193,7 @@ "type": "string", "description": "Component category." } - }, - "additionalProperties": false + } }, "ComponentSummaryRoot": { "required": [ @@ -41949,8 +39210,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "PAIdentifier": { "required": [ @@ -41966,8 +39226,7 @@ "type": "string", "description": "Holdings Mode can be B&H, TBR, OMS or EXT." } - }, - "additionalProperties": false + } }, "PADateParameters": { "required": [ @@ -41989,7 +39248,6 @@ "description": "Calculation's frequency." } }, - "additionalProperties": false, "description": "The date parameters for PA calculation." }, "PAComponent": { @@ -42035,8 +39293,7 @@ "type": "string", "description": "Component category." } - }, - "additionalProperties": false + } }, "PAComponentRoot": { "required": [ @@ -42050,8 +39307,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "VaultIdentifier": { "required": [ @@ -42064,7 +39320,6 @@ "description": "User's FactSet account path OR benchmark." } }, - "additionalProperties": false, "description": "The account/benchmark parameter for Vault calculation." }, "VaultDateParameters": { @@ -42087,7 +39342,6 @@ "description": "Calculation's frequency." } }, - "additionalProperties": false, "description": "The date parameters for Vault calculation" }, "VaultComponent": { @@ -42126,8 +39380,7 @@ "type": "string", "description": "Component category." } - }, - "additionalProperties": false + } }, "VaultComponentRoot": { "required": [ @@ -42141,8 +39394,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "VaultConfigurationSummary": { "type": "object", @@ -42151,8 +39403,7 @@ "type": "string", "description": "Configuration name." } - }, - "additionalProperties": false + } }, "VaultConfigurationSummaryRoot": { "required": [ @@ -42169,8 +39420,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "ConfigurationAccount": { "type": "object", @@ -42199,8 +39449,7 @@ "type": "string", "description": "Account name." } - }, - "additionalProperties": false + } }, "VaultConfiguration": { "type": "object", @@ -42215,8 +39464,7 @@ "$ref": "#/components/schemas/ConfigurationAccount" } } - }, - "additionalProperties": false + } }, "VaultConfigurationRoot": { "required": [ @@ -42230,8 +39478,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "Currency": { "type": "object", @@ -42240,8 +39487,7 @@ "type": "string", "description": "Name of currency." } - }, - "additionalProperties": false + } }, "CurrencyRoot": { "required": [ @@ -42258,8 +39504,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "DateParametersSummary": { "type": "object", @@ -42272,8 +39517,7 @@ "type": "string", "description": "End date in YYYYMMDD format." } - }, - "additionalProperties": false + } }, "DateParametersSummaryRoot": { "required": [ @@ -42287,8 +39531,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "FIDiscountCurveInfo": { "type": "object", @@ -42302,8 +39545,7 @@ "currency": { "type": "string" } - }, - "additionalProperties": false + } }, "FIDiscountCurveInfoRoot": { "required": [ @@ -42320,8 +39562,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "DocumentDirectories": { "type": "object", @@ -42340,8 +39581,7 @@ }, "description": "List of directories." } - }, - "additionalProperties": false + } }, "DocumentDirectoriesRoot": { "required": [ @@ -42355,8 +39595,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "FIABIdentifier": { "required": [ @@ -42368,8 +39607,7 @@ "type": "string", "description": "User's FactSet account path." } - }, - "additionalProperties": false + } }, "FIABDateParameters": { "required": [ @@ -42387,7 +39625,6 @@ "description": "Calculation's end date." } }, - "additionalProperties": false, "description": "The date parameters for FIAB calculations." }, "FIABCalculationParameters": { @@ -42415,8 +39652,7 @@ "type": "string", "description": "FISettingsDocument (optional) - The given @FIS document will be used to\r\nconfigure analytics assumptions and settings. Expects a GUI-style path (Client:/foo/bar)" } - }, - "additionalProperties": false + } }, "FIABCalculationStatusSummary": { "type": "object", @@ -42431,8 +39667,7 @@ "description": "Last poll time of calculation.", "format": "date-time" } - }, - "additionalProperties": false + } }, "EventSummary": { "type": "object", @@ -42450,8 +39685,7 @@ "type": "string", "description": "Event's type" } - }, - "additionalProperties": false + } }, "FIABCalculationStatus": { "type": "object", @@ -42494,8 +39728,7 @@ }, "description": "List of batch events" } - }, - "additionalProperties": false + } }, "FIReferencePrepay": { "type": "object", @@ -42504,8 +39737,7 @@ "type": "string", "description": "Reference Prepay Name" } - }, - "additionalProperties": false + } }, "FIReferenceSecurity": { "type": "object", @@ -42534,8 +39766,7 @@ "type": "string", "description": "Reference Settlement Date" } - }, - "additionalProperties": false + } }, "FIBankLoans": { "type": "object", @@ -42544,8 +39775,7 @@ "type": "boolean", "description": "Ignore Sinking Fund" } - }, - "additionalProperties": false + } }, "FIMunicipalBonds": { "type": "object", @@ -42558,8 +39788,7 @@ "type": "boolean", "description": "Anticipate Sink Schedule" } - }, - "additionalProperties": false + } }, "FILoss": { "type": "object", @@ -42568,8 +39797,7 @@ "type": "string", "description": "Loss Name" } - }, - "additionalProperties": false + } }, "FIPrepay": { "type": "object", @@ -42578,8 +39806,7 @@ "type": "string", "description": "Prepay Name" } - }, - "additionalProperties": false + } }, "FIServicerAdvancesForSecurities": { "type": "object", @@ -42605,8 +39832,7 @@ "type": "string", "description": "Advance Type" } - }, - "additionalProperties": false + } }, "FIPrepayLockout": { "type": "object", @@ -42629,8 +39855,7 @@ "type": "string", "description": "Ym Above" } - }, - "additionalProperties": false + } }, "FICashflows": { "type": "object", @@ -42657,8 +39882,7 @@ "description": "RecoveryLag", "format": "int32" } - }, - "additionalProperties": false + } }, "FIBalloonExtension": { "type": "object", @@ -42691,8 +39915,7 @@ "description": "Coupon Stepup", "format": "double" } - }, - "additionalProperties": false + } }, "FIStructuredProductsForSecurities": { "type": "object", @@ -42721,8 +39944,7 @@ "balloonExtension": { "$ref": "#/components/schemas/FIBalloonExtension" } - }, - "additionalProperties": false + } }, "FISecurity": { "required": [ @@ -42805,8 +40027,7 @@ "type": "string", "description": "Discount curve" } - }, - "additionalProperties": false + } }, "FIMunicipalBondsForJobSettings": { "type": "object", @@ -42823,8 +40044,7 @@ "type": "boolean", "description": "Anticipate Sink Schedule" } - }, - "additionalProperties": false + } }, "FIMarketEnvironment": { "type": "object", @@ -42839,8 +40059,7 @@ "description": "Rate Path", "default": "FLAT & FORWARD" } - }, - "additionalProperties": false + } }, "FIServicerAdvances": { "type": "object", @@ -42856,8 +40075,7 @@ "type": "string", "description": "Advance Type" } - }, - "additionalProperties": false + } }, "FIStructuredProductsForJobSettings": { "type": "object", @@ -42886,8 +40104,7 @@ "balloonExtension": { "$ref": "#/components/schemas/FIBalloonExtension" } - }, - "additionalProperties": false + } }, "FIJobSettings": { "required": [ @@ -42937,8 +40154,7 @@ "structuredProducts": { "$ref": "#/components/schemas/FIStructuredProductsForJobSettings" } - }, - "additionalProperties": false + } }, "FICalculationParameters": { "required": [ @@ -42965,8 +40181,7 @@ "jobSettings": { "$ref": "#/components/schemas/FIJobSettings" } - }, - "additionalProperties": false + } }, "CalculationMeta": { "type": "object", @@ -43016,8 +40231,7 @@ "type": "string", "default": "JsonStach" } - }, - "additionalProperties": false + } }, "FICalculationParametersRoot": { "type": "object", @@ -43028,8 +40242,7 @@ "meta": { "$ref": "#/components/schemas/CalculationMeta" } - }, - "additionalProperties": false + } }, "PaDoc": { "required": [ @@ -43041,8 +40254,7 @@ "type": "string", "description": "PA document path" } - }, - "additionalProperties": false + } }, "FPOAccount": { "required": [ @@ -43060,8 +40272,7 @@ "overrides": { "$ref": "#/components/schemas/OptimizerAccountOverrides" } - }, - "additionalProperties": false + } }, "FPOObjective": { "type": "object", @@ -43079,8 +40290,7 @@ "type": "string" } } - }, - "additionalProperties": false + } }, "FPOOptimizerStrategyOverrides": { "type": "object", @@ -43107,8 +40317,7 @@ "type": "string", "description": "Transaction cost" } - }, - "additionalProperties": false + } }, "FPOOptimizerStrategy": { "required": [ @@ -43123,8 +40332,7 @@ "type": "string", "description": "OptimizerStrategy document path" } - }, - "additionalProperties": false + } }, "FPOOptimizationParameters": { "required": [ @@ -43145,8 +40353,7 @@ "outputTypes": { "$ref": "#/components/schemas/OptimizerOutputTypes" } - }, - "additionalProperties": false + } }, "FPOOptimizationParametersRoot": { "type": "object", @@ -43157,8 +40364,7 @@ "meta": { "$ref": "#/components/schemas/OptimizerCalculationMeta" } - }, - "additionalProperties": false + } }, "Frequency": { "type": "object", @@ -43167,8 +40373,7 @@ "type": "string", "description": "Frequency name." } - }, - "additionalProperties": false + } }, "FrequencyRoot": { "required": [ @@ -43185,8 +40390,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "Group": { "type": "object", @@ -43203,8 +40407,7 @@ "type": "string", "description": "Group Category" } - }, - "additionalProperties": false + } }, "GroupRoot": { "required": [ @@ -43221,8 +40424,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "TemplateContentTypes": { "type": "object", @@ -43248,8 +40450,7 @@ }, "description": "Template locked fields" } - }, - "additionalProperties": false + } }, "LinkedPATemplateParameters": { "required": [ @@ -43273,8 +40474,7 @@ "content": { "$ref": "#/components/schemas/TemplateContentTypes" } - }, - "additionalProperties": false + } }, "LinkedPATemplateParametersRoot": { "required": [ @@ -43288,8 +40488,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "LinkedPATemplatePostSummary": { "type": "object", @@ -43310,8 +40509,7 @@ "type": "string", "description": "Template parent tile." } - }, - "additionalProperties": false + } }, "LinkedPATemplatePostSummaryRoot": { "required": [ @@ -43325,8 +40523,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "LinkedPATemplateSummary": { "type": "object", @@ -43343,8 +40540,7 @@ "type": "string", "description": "Template parent tile." } - }, - "additionalProperties": false + } }, "LinkedPATemplateSummaryRoot": { "required": [ @@ -43361,8 +40557,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "LinkedPATemplateUpdateParameters": { "type": "object", @@ -43378,8 +40573,7 @@ "content": { "$ref": "#/components/schemas/TemplateContentTypes" } - }, - "additionalProperties": false + } }, "LinkedPATemplateUpdateParametersRoot": { "required": [ @@ -43393,8 +40587,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "LinkedPATemplate": { "type": "object", @@ -43426,8 +40619,7 @@ "type": "string", "description": "Template parent tile." } - }, - "additionalProperties": false + } }, "LinkedPATemplateRoot": { "required": [ @@ -43441,8 +40633,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "NPOOptimizerStrategyOverrides": { "type": "object", @@ -43473,8 +40664,7 @@ "type": "string", "description": "Alpha" } - }, - "additionalProperties": false + } }, "NPOOptimizerStrategy": { "required": [ @@ -43489,8 +40679,7 @@ "type": "string", "description": "OptimizerStrategy document path" } - }, - "additionalProperties": false + } }, "NPOOptimizationParameters": { "required": [ @@ -43511,8 +40700,7 @@ "outputTypes": { "$ref": "#/components/schemas/OptimizerOutputTypes" } - }, - "additionalProperties": false + } }, "NPOOptimizationParametersRoot": { "type": "object", @@ -43523,8 +40711,7 @@ "meta": { "$ref": "#/components/schemas/OptimizerCalculationMeta" } - }, - "additionalProperties": false + } }, "PACalculationGroup": { "type": "object", @@ -43537,8 +40724,7 @@ "type": "string", "description": "Grouping frequency" } - }, - "additionalProperties": false + } }, "PACalculationColumn": { "type": "object", @@ -43554,8 +40740,7 @@ }, "description": "Column Statistic identifier" } - }, - "additionalProperties": false + } }, "PACalculationPricingSource": { "type": "object", @@ -43564,8 +40749,7 @@ "type": "string", "description": "Pricing source identifier" } - }, - "additionalProperties": false + } }, "PACalculationDataSources": { "type": "object", @@ -43588,8 +40772,7 @@ "type": "boolean", "description": "Use portfolio pricing sources for benchmark" } - }, - "additionalProperties": false + } }, "PACalculationParameters": { "required": [ @@ -43643,8 +40826,7 @@ "type": "string", "description": "Component detail type for the PA component. It can be GROUPS or TOTALS or SECURITIES." } - }, - "additionalProperties": false + } }, "PACalculationParametersRoot": { "type": "object", @@ -43659,8 +40841,7 @@ "meta": { "$ref": "#/components/schemas/CalculationMeta" } - }, - "additionalProperties": false + } }, "CalculationUnitStatus": { "type": "object", @@ -43695,945 +40876,1830 @@ "type": "integer", "description": "The points for the calculation unit.", "format": "int32" + }, + "warnings": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The warnings in a calculation unit." } - }, - "additionalProperties": false + } }, "CalculationStatus": { "type": "object", "properties": { - "calculationid": { - "type": "string", - "description": "Calculation's identifier" + "calculationid": { + "type": "string", + "description": "Calculation's identifier" + }, + "status": { + "enum": [ + "Queued", + "Executing", + "Completed", + "Cancelled" + ], + "type": "string", + "description": "Calculation's status" + }, + "units": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/CalculationUnitStatus" + }, + "description": "Number of calculation units in batch." + } + } + }, + "CalculationUnitStatusMeta": { + "type": "object", + "properties": { + "info": { + "type": "string", + "description": "The Info URL of the calculation." + } + } + }, + "CalculationStatusMeta": { + "type": "object", + "properties": { + "units": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/CalculationUnitStatusMeta" + }, + "description": "Meta of calculation units in batch." + } + } + }, + "CalculationStatusRoot": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/CalculationStatus" + }, + "meta": { + "$ref": "#/components/schemas/CalculationStatusMeta" + } + } + }, + "CalculationsSummary": { + "type": "object", + "properties": { + "status": { + "enum": [ + "Queued", + "Executing", + "Completed", + "Cancelled" + ], + "type": "string", + "description": "Last poll status of the calculation." + }, + "units": { + "type": "integer", + "description": "Number of calculation units in batch.", + "format": "int32" + }, + "requestTime": { + "type": "string", + "description": "Request time of calculation.", + "format": "date-time" + }, + "lastPollTime": { + "type": "string", + "description": "Last poll time of calculation.", + "format": "date-time" + } + } + }, + "PaginationInfo": { + "type": "object", + "properties": { + "pageNumber": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "format": "int32" + }, + "totalCalculations": { + "type": "integer", + "format": "int32" + }, + "nextPage": { + "type": "string" + }, + "previousPage": { + "type": "string" + } + } + }, + "PaginationMeta": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationInfo" + } + } + }, + "CalculationsSummaryRoot": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/CalculationsSummary" + }, + "meta": { + "$ref": "#/components/schemas/PaginationMeta" + } + } + }, + "PAPricingSource": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Pricing source Name" + }, + "directory": { + "type": "string", + "description": "Pricing source directory" + }, + "category": { + "type": "string", + "description": "Pricing source category" + } + } + }, + "PAPricingSourceRoot": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/PAPricingSource" + } + }, + "meta": { + "type": "object" + } + } + }, + "PubIdentifier": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "User's FactSet account path OR benchmark." + }, + "holdingsmode": { + "type": "string", + "description": "Holdings Mode can be B&H, TBR, OMS or EXT." + } + } + }, + "PubDateParameters": { + "required": [ + "enddate" + ], + "type": "object", + "properties": { + "startdate": { + "type": "string", + "description": "Calculation's start date." + }, + "enddate": { + "type": "string", + "description": "Calculation's end date or as of date." + } + }, + "description": "The date parameters for Publisher calculation." + }, + "PubCalculationParameters": { + "required": [ + "account", + "dates", + "document" + ], + "type": "object", + "properties": { + "document": { + "type": "string", + "description": "The Publisher Engine document to analyze." + }, + "account": { + "$ref": "#/components/schemas/PubIdentifier" + }, + "dates": { + "$ref": "#/components/schemas/PubDateParameters" + } + } + }, + "PubCalculationMeta": { + "type": "object" + }, + "PubCalculationParametersRoot": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/PubCalculationParameters" + }, + "description": "List of calculation parameters." + }, + "meta": { + "$ref": "#/components/schemas/PubCalculationMeta" + } + } + }, + "QuantScreeningExpressionUniverse": { + "required": [ + "universeExpr", + "universeType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantUniverse" + } + ], + "properties": { + "universeExpr": { + "type": "string" + }, + "universeType": { + "enum": [ + "Equity", + "Debt" + ], + "type": "string" + }, + "securityExpr": { + "type": "string" + } + } + }, + "QuantIdentifierUniverse": { + "required": [ + "identifiers", + "universeType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantUniverse" + } + ], + "properties": { + "universeType": { + "enum": [ + "Equity", + "Debt" + ], + "type": "string" + }, + "identifiers": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "QuantUniverse": { + "required": [ + "source" + ], + "type": "object", + "properties": { + "source": { + "enum": [ + "ScreeningExpressionUniverse", + "UniversalScreenUniverse", + "IdentifierUniverse" + ], + "type": "string" + } + } + }, + "QuantUniversalScreenUniverse": { + "required": [ + "screen" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantUniverse" + } + ], + "properties": { + "screen": { + "type": "string" + } + } + }, + "QuantDateList": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantDate" + } + ], + "properties": { + "dates": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "QuantDate": { + "required": [ + "calendar", + "frequency", + "source" + ], + "type": "object", + "properties": { + "source": { + "enum": [ + "FdsDate", + "DateList" + ], + "type": "string" + }, + "frequency": { + "type": "string" + }, + "calendar": { + "type": "string" + }, + "overrideUniversalScreenCalendar": { + "type": "boolean" + } + } + }, + "QuantFdsDate": { + "required": [ + "endDate", + "startDate" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantDate" + } + ], + "properties": { + "startDate": { + "type": "string" + }, + "endDate": { + "type": "string" + } + } + }, + "QuantFqlExpression": { + "required": [ + "expr", + "name" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantFormula" + } + ], + "properties": { + "expr": { + "type": "string" }, - "status": { - "enum": [ - "Queued", - "Executing", - "Completed", - "Cancelled" - ], - "type": "string", - "description": "Calculation's status" + "name": { + "type": "string" }, - "units": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/CalculationUnitStatus" - }, - "description": "Number of calculation units in batch." + "dateOffset": { + "type": "string" + }, + "isArrayReturnType": { + "type": "boolean" } - }, - "additionalProperties": false + } }, - "CalculationUnitStatusMeta": { + "QuantUniversalScreenParameter": { + "required": [ + "name", + "referenceName" + ], "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantFormula" + } + ], "properties": { - "info": { - "type": "string", - "description": "The Info URL of the calculation." + "referenceName": { + "type": "string" + }, + "name": { + "type": "string" } - }, - "additionalProperties": false + } }, - "CalculationStatusMeta": { + "QuantAllUniversalScreenParameters": { "type": "object", - "properties": { - "units": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/CalculationUnitStatusMeta" - }, - "description": "Meta of calculation units in batch." + "allOf": [ + { + "$ref": "#/components/schemas/QuantFormula" } - }, - "additionalProperties": false + ] }, - "CalculationStatusRoot": { + "QuantFormula": { "required": [ - "data" + "source" ], "type": "object", "properties": { - "data": { - "$ref": "#/components/schemas/CalculationStatus" - }, - "meta": { - "$ref": "#/components/schemas/CalculationStatusMeta" + "source": { + "enum": [ + "ScreeningExpression", + "FqlExpression", + "UniversalScreenParameter", + "AllUniversalScreenParameters" + ], + "type": "string" } - }, - "additionalProperties": false + } }, - "CalculationsSummary": { + "QuantScreeningExpression": { + "required": [ + "expr", + "name" + ], "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantFormula" + } + ], "properties": { - "status": { - "enum": [ - "Queued", - "Executing", - "Completed", - "Cancelled" - ], - "type": "string", - "description": "Last poll status of the calculation." - }, - "units": { - "type": "integer", - "description": "Number of calculation units in batch.", - "format": "int32" + "expr": { + "type": "string" }, - "requestTime": { - "type": "string", - "description": "Request time of calculation.", - "format": "date-time" + "name": { + "type": "string" }, - "lastPollTime": { - "type": "string", - "description": "Last poll time of calculation.", - "format": "date-time" + "dateOffset": { + "type": "string" } - }, - "additionalProperties": false + } }, - "PaginationInfo": { + "QuantScreeningExpressionUniverseObsolete": { + "required": [ + "universeExpr", + "universeType" + ], "type": "object", "properties": { - "pageNumber": { - "type": "integer", - "format": "int32" - }, - "pageSize": { - "type": "integer", - "format": "int32" - }, - "totalPages": { - "type": "integer", - "format": "int32" + "universeExpr": { + "type": "string" }, - "totalCalculations": { - "type": "integer", - "format": "int32" + "universeType": { + "enum": [ + "Equity", + "Debt" + ], + "type": "string" }, - "nextPage": { + "securityExpr": { "type": "string" }, - "previousPage": { + "source": { + "enum": [ + "ScreeningExpressionUniverse", + "UniversalScreenUniverse", + "IdentifierUniverse" + ], "type": "string" } - }, - "additionalProperties": false + } }, - "PaginationMeta": { + "QuantUniversalScreenUniverseObsolete": { + "required": [ + "screen" + ], "type": "object", "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationInfo" + "screen": { + "type": "string" + }, + "source": { + "enum": [ + "ScreeningExpressionUniverse", + "UniversalScreenUniverse", + "IdentifierUniverse" + ], + "type": "string" } - }, - "additionalProperties": false + } }, - "CalculationsSummaryRoot": { + "QuantIdentifierUniverseObsolete": { "required": [ - "data" + "identifiers", + "universeType" ], "type": "object", "properties": { - "data": { - "$ref": "#/components/schemas/CalculationsSummary" + "universeType": { + "enum": [ + "Equity", + "Debt" + ], + "type": "string" }, - "meta": { - "$ref": "#/components/schemas/PaginationMeta" + "identifiers": { + "type": "array", + "items": { + "type": "string" + } + }, + "source": { + "enum": [ + "ScreeningExpressionUniverse", + "UniversalScreenUniverse", + "IdentifierUniverse" + ], + "type": "string" } - }, - "additionalProperties": false + } }, - "PAPricingSource": { + "QuantFdsDateObsolete": { + "required": [ + "calendar", + "endDate", + "frequency", + "startDate" + ], "type": "object", "properties": { - "name": { - "type": "string", - "description": "Pricing source Name" + "startDate": { + "type": "string" }, - "directory": { - "type": "string", - "description": "Pricing source directory" + "endDate": { + "type": "string" }, - "category": { - "type": "string", - "description": "Pricing source category" + "frequency": { + "type": "string" + }, + "calendar": { + "type": "string" + }, + "overrideUniversalScreenCalendar": { + "type": "boolean" } - }, - "additionalProperties": false + } }, - "PAPricingSourceRoot": { + "QuantDateListObsolete": { "required": [ - "data" + "calendar", + "frequency" ], "type": "object", "properties": { - "data": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/PAPricingSource" + "dates": { + "type": "array", + "items": { + "type": "string" } }, - "meta": { - "type": "object" + "frequency": { + "type": "string" + }, + "calendar": { + "type": "string" + }, + "overrideUniversalScreenCalendar": { + "type": "boolean" } - }, - "additionalProperties": false + } }, - "PubIdentifier": { + "QuantScreeningExpressionObsolete": { "required": [ - "id" + "expr", + "name" ], "type": "object", "properties": { - "id": { - "type": "string", - "description": "User's FactSet account path OR benchmark." + "expr": { + "type": "string" }, - "holdingsmode": { - "type": "string", - "description": "Holdings Mode can be B&H, TBR, OMS or EXT." + "name": { + "type": "string" + }, + "dateOffset": { + "type": "string" } - }, - "additionalProperties": false + } }, - "PubDateParameters": { + "QuantFqlExpressionObsolete": { "required": [ - "enddate" + "expr", + "name" ], "type": "object", "properties": { - "startdate": { - "type": "string", - "description": "Calculation's start date." + "expr": { + "type": "string" }, - "enddate": { - "type": "string", - "description": "Calculation's end date or as of date." + "name": { + "type": "string" + }, + "dateOffset": { + "type": "string" + }, + "isArrayReturnType": { + "type": "boolean" } - }, - "additionalProperties": false, - "description": "The date parameters for Publisher calculation." + } }, - "PubCalculationParameters": { + "QuantUniversalScreenParameterObsolete": { "required": [ - "account", - "dates", - "document" + "name", + "referenceName" ], "type": "object", "properties": { - "document": { - "type": "string", - "description": "The Publisher Engine document to analyze." - }, - "account": { - "$ref": "#/components/schemas/PubIdentifier" + "referenceName": { + "type": "string" }, - "dates": { - "$ref": "#/components/schemas/PubDateParameters" + "name": { + "type": "string" } - }, - "additionalProperties": false + } }, - "PubCalculationMeta": { - "type": "object", - "additionalProperties": false + "QuantAllUniversalScreenParametersObsolete": { + "type": "object" }, - "PubCalculationParametersRoot": { - "type": "object", - "properties": { - "data": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/PubCalculationParameters" - }, - "description": "List of calculation parameters." + "OneOfQuantUniverse": { + "oneOf": [ + { + "$ref": "#/components/schemas/QuantUniversalScreenUniverse" }, - "meta": { - "$ref": "#/components/schemas/PubCalculationMeta" + { + "$ref": "#/components/schemas/QuantScreeningExpressionUniverse" + }, + { + "$ref": "#/components/schemas/QuantIdentifierUniverse" } - }, - "additionalProperties": false + ], + "discriminator": { + "propertyName": "source", + "mapping": { + "UniversalScreenUniverse": "#/components/schemas/QuantUniversalScreenUniverse", + "ScreeningExpressionUniverse": "#/components/schemas/QuantScreeningExpressionUniverse", + "IdentifierUniverse": "#/components/schemas/QuantIdentifierUniverse" + } + } }, - "QuantScreeningExpressionUniverse": { - "required": [ - "universeExpr", - "universeType" + "OneOfQuantDates": { + "oneOf": [ + { + "$ref": "#/components/schemas/QuantFdsDate" + }, + { + "$ref": "#/components/schemas/QuantDateList" + } ], - "type": "object", - "allOf": [ + "discriminator": { + "propertyName": "source", + "mapping": { + "FdsDate": "#/components/schemas/QuantFdsDate", + "DateList": "#/components/schemas/QuantDateList" + } + } + }, + "OneOfQuantFormulas": { + "oneOf": [ { - "$ref": "#/components/schemas/QuantUniverse" + "$ref": "#/components/schemas/QuantScreeningExpression" + }, + { + "$ref": "#/components/schemas/QuantFqlExpression" + }, + { + "$ref": "#/components/schemas/QuantUniversalScreenParameter" + }, + { + "$ref": "#/components/schemas/QuantAllUniversalScreenParameters" } ], + "discriminator": { + "propertyName": "source", + "mapping": { + "ScreeningExpression": "#/components/schemas/QuantScreeningExpression", + "FqlExpression": "#/components/schemas/QuantFqlExpression", + "UniversalScreenParameter": "#/components/schemas/QuantUniversalScreenParameter", + "AllUniversalScreenParameters": "#/components/schemas/QuantAllUniversalScreenParameters" + } + } + }, + "OneOfQuantFormulasArray": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OneOfQuantFormulas" + } + }, + "QuantCalculationParameters": { + "type": "object", "properties": { - "universeExpr": { - "type": "string" + "universe": { + "$ref": "#/components/schemas/OneOfQuantUniverse" }, - "universeType": { - "enum": [ - "Equity", - "Debt" - ], - "type": "string" + "dates": { + "$ref": "#/components/schemas/OneOfQuantDates" }, - "securityExpr": { + "formulas": { + "$ref": "#/components/schemas/OneOfQuantFormulasArray" + }, + "jobDescription": { "type": "string" } - }, - "additionalProperties": false + } }, - "QuantIdentifierUniverse": { - "required": [ - "identifiers", - "universeType" - ], + "QuantCalculationMeta": { "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/QuantUniverse" - } - ], "properties": { - "universeType": { + "allowArrayData": { + "type": "boolean" + }, + "contentorganization": { "enum": [ - "Equity", - "Debt" + "None", + "Row", + "Column", + "SimplifiedRow" ], - "type": "string" + "type": "string", + "default": "SimplifiedRow", + "deprecated": true + }, + "stachContentOrganization": { + "enum": [ + "None", + "Row", + "Column", + "SimplifiedRow" + ], + "type": "string", + "default": "SimplifiedRow" + }, + "contenttype": { + "enum": [ + "Json", + "Binary" + ], + "type": "string", + "default": "Json", + "deprecated": true + }, + "format": { + "enum": [ + "JsonStach", + "Table", + "Tableau", + "BinaryStach", + "Bison", + "Binary", + "Pdf", + "Pptx", + "Feather" + ], + "type": "string", + "default": "JsonStach" + } + } + }, + "QuantCalculationParametersRoot": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/QuantCalculationParameters" + }, + "description": "List of calculation parameters." }, - "identifiers": { - "type": "array", - "items": { - "type": "string" - } + "meta": { + "$ref": "#/components/schemas/QuantCalculationMeta" } - }, - "additionalProperties": false + } }, - "QuantUniverse": { + "SMRetrieveParameters": { "required": [ - "source" + "securityName" ], "type": "object", "properties": { - "source": { + "securityName": { + "type": "string" + }, + "location": { + "type": "string" + }, + "asofdate": { + "type": "string" + }, + "securityType": { "enum": [ - "ScreeningExpressionUniverse", - "UniversalScreenUniverse", - "IdentifierUniverse" + "Bond", + "CCF" ], "type": "string" } - }, - "additionalProperties": false + } }, - "QuantUniversalScreenUniverse": { + "SMRetrieveParametersRoot": { "required": [ - "screen" + "data" ], "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/QuantUniverse" - } - ], "properties": { - "screen": { - "type": "string" + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMRetrieveParameters" + } + }, + "meta": { + "type": "object" } - }, - "additionalProperties": false + } }, - "QuantDateList": { + "SMCustomCashFlowFields": { "type": "object", "allOf": [ { - "$ref": "#/components/schemas/QuantDate" + "$ref": "#/components/schemas/SMFields" } ], "properties": { - "dates": { + "cashFlowAmounts": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "cashFlowDates": { "type": "array", "items": { "type": "string" } - } - }, - "additionalProperties": false - }, - "QuantDate": { - "required": [ - "calendar", - "frequency", - "source" - ], - "type": "object", - "properties": { - "source": { - "enum": [ - "FdsDate", - "DateList" - ], + }, + "country": { "type": "string" }, - "frequency": { + "currency": { "type": "string" }, - "calendar": { + "issueName": { "type": "string" }, - "overrideUniversalScreenCalendar": { + "parAmt": { + "type": "number", + "format": "double" + }, + "parentName": { + "type": "string" + }, + "ratingFitch": { + "type": "string" + }, + "ratingFitchDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingFitchValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingMoodysDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingMoodysValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingSpDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingSpValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "secondaryToVendorFlag": { "type": "boolean" - } - }, - "additionalProperties": false - }, - "QuantFdsDate": { - "required": [ - "endDate", - "startDate" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/QuantDate" - } - ], - "properties": { - "startDate": { + }, + "sector": { "type": "string" }, - "endDate": { + "sectorBarclay1": { "type": "string" - } - }, - "additionalProperties": false - }, - "QuantFqlExpression": { - "required": [ - "expr", - "name" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/QuantFormula" - } - ], - "properties": { - "expr": { + }, + "sectorBarclay2": { "type": "string" }, - "name": { + "sectorBarclay3": { "type": "string" }, - "dateOffset": { + "sectorBarclay4": { "type": "string" }, - "isArrayReturnType": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "QuantUniversalScreenParameter": { - "required": [ - "name", - "referenceName" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/QuantFormula" - } - ], - "properties": { - "referenceName": { + "sectorDef": { "type": "string" }, - "name": { + "sectorIndustry": { + "type": "string" + }, + "sectorMain": { + "type": "string" + }, + "sectorMerrill1": { + "type": "string" + }, + "sectorMerrill2": { + "type": "string" + }, + "sectorMerrill3": { + "type": "string" + }, + "sectorMerrill4": { + "type": "string" + }, + "sectorSubGroup": { + "type": "string" + }, + "vendorCoverageDate": { "type": "string" } - }, - "additionalProperties": false - }, - "QuantAllUniversalScreenParameters": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/QuantFormula" - } - ], - "additionalProperties": false + } }, - "QuantFormula": { + "SMFields": { "required": [ - "source" + "securityType" ], "type": "object", "properties": { - "source": { + "securityType": { "enum": [ - "ScreeningExpression", - "FqlExpression", - "UniversalScreenParameter", - "AllUniversalScreenParameters" + "Bond", + "CCF" ], "type": "string" } - }, - "additionalProperties": false + } }, - "QuantScreeningExpression": { - "required": [ - "expr", - "name" - ], + "SMBondFields": { "type": "object", "allOf": [ { - "$ref": "#/components/schemas/QuantFormula" + "$ref": "#/components/schemas/SMFields" } ], "properties": { - "expr": { + "144aFlag": { + "type": "boolean" + }, + "aperiodicMultipliers": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "aperiodicResetDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "aperiodicSpreads": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "businessDayConv": { "type": "string" }, - "name": { + "callAnnouncedDate": { "type": "string" }, - "dateOffset": { + "callDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "callFreq": { "type": "string" - } - }, - "additionalProperties": false - }, - "QuantScreeningExpressionUniverseObsolete": { - "required": [ - "universeExpr", - "universeType" - ], - "type": "object", - "properties": { - "universeExpr": { + }, + "callNoticeDays": { + "type": "integer", + "format": "int32" + }, + "callPrices": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "cashRate": { + "type": "number", + "format": "double" + }, + "cognity": { "type": "string" }, - "universeType": { - "enum": [ - "Equity", - "Debt" - ], + "conversionIdentifier": { + "type": "string" + }, + "conversionRatio": { + "type": "number", + "format": "double" + }, + "conversionType": { + "type": "string" + }, + "convertibleFlag": { + "type": "boolean" + }, + "country": { + "type": "string" + }, + "coupon": { + "type": "number", + "format": "double" + }, + "couponType": { + "type": "string" + }, + "creditSpreadAdjustmentSingle": { + "type": "number", + "format": "double" + }, + "currency": { + "type": "string" + }, + "dayCountBasis": { + "type": "string" + }, + "defaultedDate": { + "type": "string" + }, + "federalTaxExemptFlag": { + "type": "boolean" + }, + "firstPayDate": { + "type": "string" + }, + "firstResetDate": { + "type": "string" + }, + "floatFormula": { + "type": "string" + }, + "fltDayCountBasis": { + "type": "string" + }, + "fltFirstPayDate": { + "type": "string" + }, + "fltPayFreq": { + "type": "string" + }, + "histCouponDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "histCoupons": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "histRcvAssumpDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "histRcvAssumpMonths": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "histRcvAssumpRates": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "histRcvAssumpTargetDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "inflationType": { + "type": "string" + }, + "issueDate": { + "type": "string" + }, + "issueName": { + "type": "string" + }, + "issuerId": { + "type": "string" + }, + "lastModifiedSource": { + "type": "string" + }, + "lastModifiedSourceMeta": { + "type": "string" + }, + "lastModifiedTime": { + "type": "string" + }, + "lifeCap": { + "type": "number", + "format": "double" + }, + "lifeFloor": { + "type": "number", + "format": "double" + }, + "lockoutDays": { + "type": "integer", + "format": "int32" + }, + "lookBackDays": { + "type": "integer", + "format": "int32" + }, + "makeWholeCallFlag": { + "type": "boolean" + }, + "makeWholeExpireDate": { + "type": "string" + }, + "makeWholeSpread": { + "type": "number", + "format": "double" + }, + "matrixDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "matrixMultipliers": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "matrixPricedFlag": { + "type": "boolean" + }, + "matrixSpreads": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "matrixUseScheduleFlag": { + "type": "boolean" + }, + "maturityDate": { + "type": "string" + }, + "maturityPrice": { + "type": "number", + "format": "double" + }, + "monthsToRecovery": { + "type": "number", + "format": "double" + }, + "multiplier": { + "type": "number", + "format": "double" + }, + "notionalFlag": { + "type": "boolean" + }, + "observationShift": { + "type": "integer", + "format": "int32" + }, + "origAmtIssued": { + "type": "number", + "format": "double" + }, + "parentName": { + "type": "string" + }, + "parPrice": { + "type": "number", + "format": "double" + }, + "parserInfo": { + "type": "string" + }, + "paymentDelay": { + "type": "integer", + "format": "int32" + }, + "payFreq": { + "type": "string" + }, + "periodCap": { + "type": "number", + "format": "double" + }, + "periodFloor": { + "type": "number", + "format": "double" + }, + "pikExpDate": { + "type": "string" + }, + "pikRate": { + "type": "integer", + "format": "int32" + }, + "preferredSecExDateLen": { + "type": "integer", + "format": "int32" + }, + "preferredSecExDateUnits": { + "type": "string" + }, + "preferredSecFlag": { + "type": "boolean" + }, + "preferredSecType": { + "type": "string" + }, + "principalType": { + "type": "string" + }, + "putDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "putNoticeDays": { + "type": "integer", + "format": "int32" + }, + "putFreq": { + "type": "string" + }, + "putPrices": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "pvtPlacementFlag": { + "type": "boolean" + }, + "ratingFitch": { + "type": "string" + }, + "ratingFitchDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingFitchValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingMoodysDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingMoodysValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingSpDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingSpValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "recoveryPercentage": { + "type": "number", + "format": "double" + }, + "redemptionDate": { + "type": "string" + }, + "redemptionOpt": { + "type": "string" + }, + "redemptionPrice": { + "type": "number", + "format": "double" + }, + "reinstatedDate": { + "type": "string" + }, + "resetDelay": { + "type": "integer", + "format": "int32" + }, + "resetFreq": { + "type": "string" + }, + "refIndex": { + "type": "string" + }, + "secondaryToVendorFlag": { + "type": "boolean" + }, + "sector": { + "type": "string" + }, + "sectorBarclay1": { + "type": "string" + }, + "sectorBarclay2": { + "type": "string" + }, + "sectorBarclay3": { + "type": "string" + }, + "sectorBarclay4": { + "type": "string" + }, + "sectorDef": { "type": "string" }, - "securityExpr": { + "sectorIndustry": { "type": "string" }, - "source": { - "enum": [ - "ScreeningExpressionUniverse", - "UniversalScreenUniverse", - "IdentifierUniverse" - ], + "sectorMain": { "type": "string" - } - }, - "additionalProperties": false - }, - "QuantUniversalScreenUniverseObsolete": { - "required": [ - "screen" - ], - "type": "object", - "properties": { - "screen": { + }, + "sectorMerrill1": { "type": "string" }, - "source": { - "enum": [ - "ScreeningExpressionUniverse", - "UniversalScreenUniverse", - "IdentifierUniverse" - ], + "sectorMerrill2": { "type": "string" - } - }, - "additionalProperties": false - }, - "QuantIdentifierUniverseObsolete": { - "required": [ - "identifiers", - "universeType" - ], - "type": "object", - "properties": { - "universeType": { - "enum": [ - "Equity", - "Debt" - ], + }, + "sectorMerrill3": { "type": "string" }, - "identifiers": { + "sectorMerrill4": { + "type": "string" + }, + "sectorSubGroup": { + "type": "string" + }, + "sinkAmts": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "sinkDates": { "type": "array", "items": { "type": "string" } }, - "source": { - "enum": [ - "ScreeningExpressionUniverse", - "UniversalScreenUniverse", - "IdentifierUniverse" - ], - "type": "string" - } - }, - "additionalProperties": false - }, - "QuantFdsDateObsolete": { - "required": [ - "calendar", - "endDate", - "frequency", - "startDate" - ], - "type": "object", - "properties": { - "startDate": { - "type": "string" + "spread": { + "type": "number", + "format": "double" }, - "endDate": { + "state": { "type": "string" }, - "frequency": { + "status": { "type": "string" }, - "calendar": { - "type": "string" + "statusDates": { + "type": "array", + "items": { + "type": "string" + } }, - "overrideUniversalScreenCalendar": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "QuantDateListObsolete": { - "required": [ - "calendar", - "frequency" - ], - "type": "object", - "properties": { - "dates": { + "statusValues": { "type": "array", "items": { "type": "string" } }, - "frequency": { - "type": "string" + "stepCashRates": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } }, - "calendar": { + "stepCouponDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "stepCoupons": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "stepPikRates": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "vendorCoverageDate": { "type": "string" }, - "overrideUniversalScreenCalendar": { + "vRDNFlag": { "type": "boolean" } - }, - "additionalProperties": false + } }, - "QuantScreeningExpressionObsolete": { - "required": [ - "expr", - "name" - ], + "SMError": { "type": "object", "properties": { - "expr": { - "type": "string" - }, - "name": { - "type": "string" - }, - "dateOffset": { + "detail": { "type": "string" } - }, - "additionalProperties": false + } }, - "QuantFqlExpressionObsolete": { - "required": [ - "expr", - "name" + "OneOfFieldsFields": { + "oneOf": [ + { + "$ref": "#/components/schemas/SMBondFields" + }, + { + "$ref": "#/components/schemas/SMCustomCashFlowFields" + } ], + "discriminator": { + "propertyName": "securityType", + "mapping": { + "Bond": "#/components/schemas/SMBondFields", + "CCF": "#/components/schemas/SMCustomCashFlowFields" + } + } + }, + "SMRetrieveResponse": { "type": "object", "properties": { - "expr": { + "securityName": { "type": "string" }, - "name": { + "status": { + "enum": [ + "success", + "failure" + ], "type": "string" }, - "dateOffset": { + "location": { "type": "string" }, - "isArrayReturnType": { - "type": "boolean" + "asofdate": { + "type": "string" + }, + "fields": { + "$ref": "#/components/schemas/OneOfFieldsFields" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMError" + } } - }, - "additionalProperties": false + } }, - "QuantUniversalScreenParameterObsolete": { + "SMRetrieveResponseRoot": { "required": [ - "name", - "referenceName" + "data" ], "type": "object", "properties": { - "referenceName": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "additionalProperties": false - }, - "QuantAllUniversalScreenParametersObsolete": { - "type": "object", - "additionalProperties": false - }, - "OneOfQuantUniverse": { - "oneOf": [ - { - "$ref": "#/components/schemas/QuantUniversalScreenUniverse" - }, - { - "$ref": "#/components/schemas/QuantScreeningExpressionUniverse" + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMRetrieveResponse" + } }, - { - "$ref": "#/components/schemas/QuantIdentifierUniverse" - } - ], - "discriminator": { - "propertyName": "source", - "mapping": { - "UniversalScreenUniverse": "#/components/schemas/QuantUniversalScreenUniverse", - "ScreeningExpressionUniverse": "#/components/schemas/QuantScreeningExpressionUniverse", - "IdentifierUniverse": "#/components/schemas/QuantIdentifierUniverse" + "meta": { + "type": "object" } } }, - "OneOfQuantDates": { + "OneOfSMFields": { "oneOf": [ { - "$ref": "#/components/schemas/QuantFdsDate" + "$ref": "#/components/schemas/SMBondFields" }, { - "$ref": "#/components/schemas/QuantDateList" + "$ref": "#/components/schemas/SMCustomCashFlowFields" } ], "discriminator": { - "propertyName": "source", + "propertyName": "securityType", "mapping": { - "FdsDate": "#/components/schemas/QuantFdsDate", - "DateList": "#/components/schemas/QuantDateList" + "Bond": "#/components/schemas/SMBondFields", + "CCF": "#/components/schemas/SMCustomCashFlowFields" } } }, - "OneOfQuantFormulas": { - "oneOf": [ - { - "$ref": "#/components/schemas/QuantScreeningExpression" + "SMCreateParameters": { + "required": [ + "fields", + "securityName" + ], + "type": "object", + "properties": { + "securityName": { + "type": "string" }, - { - "$ref": "#/components/schemas/QuantFqlExpression" + "location": { + "type": "string" }, - { - "$ref": "#/components/schemas/QuantUniversalScreenParameter" + "asofdate": { + "type": "string" }, - { - "$ref": "#/components/schemas/QuantAllUniversalScreenParameters" + "fields": { + "$ref": "#/components/schemas/OneOfSMFields" } + } + }, + "SMCreateParametersRoot": { + "required": [ + "data" ], - "discriminator": { - "propertyName": "source", - "mapping": { - "ScreeningExpression": "#/components/schemas/QuantScreeningExpression", - "FqlExpression": "#/components/schemas/QuantFqlExpression", - "UniversalScreenParameter": "#/components/schemas/QuantUniversalScreenParameter", - "AllUniversalScreenParameters": "#/components/schemas/QuantAllUniversalScreenParameters" + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMCreateParameters" + } + }, + "meta": { + "type": "object" } } }, - "OneOfQuantFormulasArray": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OneOfQuantFormulas" + "SMWarning": { + "type": "object", + "properties": { + "detail": { + "type": "string" + } } }, - "QuantCalculationParameters": { + "SMCreateResponse": { "type": "object", "properties": { - "universe": { - "$ref": "#/components/schemas/OneOfQuantUniverse" + "securityName": { + "type": "string" }, - "dates": { - "$ref": "#/components/schemas/OneOfQuantDates" + "status": { + "enum": [ + "success", + "failure" + ], + "type": "string" }, - "formulas": { - "$ref": "#/components/schemas/OneOfQuantFormulasArray" + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMWarning" + } }, - "jobDescription": { - "type": "string" + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMError" + } } - }, - "additionalProperties": false + } }, - "QuantCalculationMeta": { + "SMCreateResponseRoot": { + "required": [ + "data" + ], "type": "object", "properties": { - "allowArrayData": { - "type": "boolean" + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMCreateResponse" + } }, - "contentorganization": { - "enum": [ - "None", - "Row", - "Column", - "SimplifiedRow" - ], - "type": "string", - "default": "SimplifiedRow", - "deprecated": true + "meta": { + "type": "object" + } + } + }, + "SMDeleteParameters": { + "required": [ + "securityName" + ], + "type": "object", + "properties": { + "securityName": { + "type": "string" }, - "stachContentOrganization": { - "enum": [ - "None", - "Row", - "Column", - "SimplifiedRow" - ], - "type": "string", - "default": "SimplifiedRow" + "location": { + "type": "string" }, - "contenttype": { - "enum": [ - "Json", - "Binary" - ], - "type": "string", - "default": "Json", - "deprecated": true + "asofdate": { + "type": "string" }, - "format": { + "securityType": { "enum": [ - "JsonStach", - "Table", - "Tableau", - "BinaryStach", - "Bison", - "Binary", - "Pdf", - "Pptx", - "Feather" + "Bond", + "CCF" ], - "type": "string", - "default": "JsonStach" + "type": "string" } - }, - "additionalProperties": false + } }, - "QuantCalculationParametersRoot": { + "SMDeleteParametersRoot": { + "required": [ + "data" + ], "type": "object", "properties": { "data": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/QuantCalculationParameters" - }, - "description": "List of calculation parameters." + "type": "array", + "items": { + "$ref": "#/components/schemas/SMDeleteParameters" + } }, "meta": { - "$ref": "#/components/schemas/QuantCalculationMeta" + "type": "object" } - }, - "additionalProperties": false + } }, - "SPARDateParameters": { - "required": [ - "enddate", - "frequency", - "startdate" - ], + "SMDeleteResponse": { "type": "object", "properties": { - "startdate": { - "type": "string", - "description": "Calculation's start date." + "securityName": { + "type": "string" }, - "enddate": { - "type": "string", - "description": "Calculation's end date." + "status": { + "enum": [ + "success", + "failure" + ], + "type": "string" }, - "frequency": { - "type": "string", - "description": "Calculation's frequency." + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMError" + } } - }, - "additionalProperties": false, - "description": "The date parameters for SPAR calculation." + } }, - "SPARCalculationParameters": { + "SMDeleteResponseRoot": { "required": [ - "componentid" + "data" ], "type": "object", "properties": { - "componentid": { - "type": "string", - "description": "The SPAR Engine component identifier to analyze." - }, - "accounts": { + "data": { "type": "array", "items": { - "$ref": "#/components/schemas/SPARIdentifier" - }, - "description": "List of accounts for SPAR calculation." + "$ref": "#/components/schemas/SMDeleteResponse" + } }, - "benchmark": { - "$ref": "#/components/schemas/SPARIdentifier" + "meta": { + "type": "object" + } + } + }, + "SMTemplateFieldProperties": { + "type": "object", + "properties": { + "category": { + "type": "array", + "items": { + "type": "string" + } }, - "dates": { - "$ref": "#/components/schemas/SPARDateParameters" + "mandatory": { + "type": "boolean" }, - "currencyisocode": { - "type": "string", - "description": "Currency ISO code for calculation." + "whenField": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } } - }, - "additionalProperties": false + } }, - "SPARCalculationParametersRoot": { + "SMTemplateFieldPropertiesRoot": { + "required": [ + "data" + ], "type": "object", "properties": { "data": { "type": "object", "additionalProperties": { - "$ref": "#/components/schemas/SPARCalculationParameters" - }, - "description": "List of calculation parameters." + "$ref": "#/components/schemas/SMTemplateFieldProperties" + } }, "meta": { - "$ref": "#/components/schemas/CalculationMeta" + "type": "object" } - }, - "additionalProperties": false + } }, "PAComponentData": { "type": "object", @@ -44680,8 +42746,7 @@ "type": "string", "description": "PA Storage type. It can be GROUPS or TOTALS or SECURITIES." } - }, - "additionalProperties": false + } }, "TemplatedPAComponentParameters": { "required": [ @@ -44705,8 +42770,7 @@ "componentData": { "$ref": "#/components/schemas/PAComponentData" } - }, - "additionalProperties": false + } }, "TemplatedPAComponentParametersRoot": { "required": [ @@ -44720,8 +42784,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "TemplatedPAComponentPostSummary": { "type": "object", @@ -44741,8 +42804,7 @@ "type": { "type": "string" } - }, - "additionalProperties": false + } }, "TemplatedPAComponentPostSummaryRoot": { "required": [ @@ -44756,8 +42818,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "TemplatedPAComponentSummary": { "type": "object", @@ -44774,8 +42835,7 @@ "type": { "type": "string" } - }, - "additionalProperties": false + } }, "TemplatedPAComponentSummaryRoot": { "required": [ @@ -44792,8 +42852,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "TemplatedPAComponentUpdateParameters": { "type": "object", @@ -44809,8 +42868,7 @@ "componentData": { "$ref": "#/components/schemas/PAComponentData" } - }, - "additionalProperties": false + } }, "TemplatedPAComponentUpdateParametersRoot": { "required": [ @@ -44824,8 +42882,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "TemplatedPAComponent": { "type": "object", @@ -44854,8 +42911,7 @@ "type": { "type": "string" } - }, - "additionalProperties": false + } }, "TemplatedPAComponentRoot": { "required": [ @@ -44869,8 +42925,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateParameters": { "required": [ @@ -44936,8 +42991,7 @@ "content": { "$ref": "#/components/schemas/TemplateContentTypes" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateParametersRoot": { "required": [ @@ -44951,8 +43005,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplatePostSummary": { "type": "object", @@ -44973,8 +43026,7 @@ "type": "string", "description": "Unlinked template category" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplatePostSummaryRoot": { "required": [ @@ -44988,8 +43040,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateSummary": { "type": "object", @@ -45006,8 +43057,7 @@ "type": "string", "description": "Unlinked template category" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateSummaryRoot": { "required": [ @@ -45024,8 +43074,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateUpdateParameters": { "type": "object", @@ -45079,8 +43128,7 @@ "content": { "$ref": "#/components/schemas/TemplateContentTypes" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateUpdateParametersRoot": { "required": [ @@ -45094,8 +43142,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplate": { "type": "object", @@ -45173,8 +43220,7 @@ "type": "string", "description": "Unlinked template category" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateRoot": { "required": [ @@ -45188,8 +43234,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateCategoryAndType": { "type": "object", @@ -45202,8 +43247,7 @@ "type": "string", "description": "Unlinked template type" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateCategoryAndTypeRoot": { "required": [ @@ -45220,8 +43264,7 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateColumnDetails": { "type": "object", @@ -45241,8 +43284,7 @@ }, "description": "Column Statistic identifier" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateGroupDetails": { "type": "object", @@ -45259,8 +43301,7 @@ "type": "string", "description": "Grouping frequency" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateCategoryAndTypeDetails": { "type": "object", @@ -45295,8 +43336,7 @@ "type": "string", "description": "Unlinked template type" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateCategoryAndTypeDetailsRoot": { "required": [ @@ -45310,8 +43350,38 @@ "meta": { "type": "object" } - }, - "additionalProperties": false + } + }, + "VaultAttributionLoaderResponse": { + "type": "object", + "properties": { + "processId": { + "type": "string", + "description": "ProcessId." + }, + "groupId": { + "type": "string", + "description": "GroupId." + }, + "objectId": { + "type": "string", + "description": "ObjectId." + } + } + }, + "VaultAttributionLoaderResponseRoot": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/VaultAttributionLoaderResponse" + }, + "meta": { + "type": "object" + } + } }, "VaultCalculationParameters": { "required": [ @@ -45339,8 +43409,7 @@ "type": "string", "description": "Component detail type for the Vault component. It can be GROUPS or TOTALS or SECURITIES." } - }, - "additionalProperties": false + } }, "VaultCalculationParametersRoot": { "type": "object", @@ -45355,8 +43424,7 @@ "meta": { "$ref": "#/components/schemas/CalculationMeta" } - }, - "additionalProperties": false + } } }, "securitySchemes": { diff --git a/openapi-schema.json b/openapi-schema.json index 555651a..6eb0c73 100644 --- a/openapi-schema.json +++ b/openapi-schema.json @@ -12,7 +12,7 @@ "name": "Apache License, Version 2.0", "url": "https://www.apache.org/licenses/LICENSE-2.0" }, - "version": "v3:[pa,spar,vault,pub,quant,fi,axp,afi,npo,bpm,fpo,others],v1:[fiab]" + "version": "v3:[pa,vault,pub,quant,fi,axp,afi,npo,bpm,fpo,security-modeling,others],v1:[fiab]" }, "servers": [ { @@ -20,29 +20,31 @@ } ], "paths": { - "/analytics/engines/spar/v3/accounts/{accountPath}/returns-type": { + "/analytics/lookups/v3/accounts/{path}": { "get": { "tags": [ "Accounts" ], - "summary": "Get SPAR account returns type details", - "description": "This endpoint returns the returns type of account associated with SPAR", - "operationId": "getSPARReturnsType", + "summary": "Get accounts and sub-directories in a directory", + "description": "This endpoint looks up all ACCT and ACTM files and sub-directories in a given directory.", + "operationId": "getAccounts", "parameters": [ { - "name": "accountPath", + "name": "path", "in": "path", - "description": "URL encoded account path", + "description": "The directory to get the accounts and sub-directories.", "required": true, "schema": { "type": "string", - "description": "URL encoded account path" + "description": "The directory to get the accounts and sub-directories.", + "default": "", + "example": "Client:" } } ], "responses": { "200": { - "description": "Expected response, returns the list of return types for the account.", + "description": "Expected response, returns a list of accounts and directories", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -80,13 +82,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SPARAccountsRoot" + "$ref": "#/components/schemas/AccountDirectoriesRoot" } } } }, "400": { - "description": "Invalid account.", + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -130,7 +132,7 @@ } }, "404": { - "description": "Account not found.", + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -174,7 +176,7 @@ } }, "401": { - "description": "Missing or invalid authentication.", + "description": "Missing or invalid authentication", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -230,7 +232,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -292,7 +294,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -311,7 +313,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -334,36 +336,58 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "SPARAccountsRoot" + "response-type": "AccountDirectoriesRoot" } ] } }, - "/analytics/lookups/v3/accounts/{path}": { - "get": { + "/analytics/engines/afi/v3/optimizations": { + "post": { "tags": [ - "Accounts" + "AFI Optimizer" ], - "summary": "Get accounts and sub-directories in a directory", - "description": "This endpoint looks up all ACCT and ACTM files and sub-directories in a given directory.", - "operationId": "getAccounts", + "summary": "Create and Run AFI optimization", + "description": "This endpoint creates and runs AFI optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", + "operationId": "postAndOptimize", "parameters": [ { - "name": "path", - "in": "path", - "description": "The directory to get the accounts and sub-directories in", - "required": true, + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", "schema": { - "type": "string", - "description": "The directory to get the accounts and sub-directories in", - "default": "" + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Optimization Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AFIOptimizationParametersRoot" + } + } + } + }, "responses": { - "200": { - "description": "Expected response, returns a list of accounts and directories", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting optimization", + "schema": { + "type": "string", + "description": "URL to poll for the resulting optimization" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -400,13 +424,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AccountDirectoriesRoot" + "$ref": "#/components/schemas/CalculationInfoRoot" } } } }, - "400": { - "description": "Invalid query parameter or value provided", + "201": { + "description": "Expected response, returns json if optimization is completed in a short span.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -444,13 +468,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "404": { - "description": "Path not found", + "400": { + "description": "Invalid optimization parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -493,64 +517,8 @@ } } }, - "401": { - "description": "Missing or invalid authentication", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "404": { + "description": "One or more optimization settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -584,54 +552,17 @@ "type": "string" } } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "503": { - "description": "Request timed out. Retry the request in some time", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -648,64 +579,10 @@ } } } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "AccountDirectoriesRoot" - } - ] - } - }, - "/analytics/engines/afi/v3/optimizations": { - "post": { - "tags": [ - "AFI Optimizer" - ], - "summary": "Create and Run AFI optimization", - "description": "This endpoint creates and runs AFI optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", - "operationId": "postAndOptimize", - "parameters": [ - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" - } }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Optimization Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AFIOptimizationParametersRoot" - } - } - } - }, - "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "403": { + "description": "User is forbidden with current credentials", "headers": { - "Location": { - "description": "URL to poll for the resulting optimization", - "schema": { - "type": "string", - "description": "URL to poll for the resulting optimization" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -738,205 +615,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" - } - } } }, - "201": { - "description": "Expected response, returns json if optimization is completed in a short span.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - } - } - }, - "400": { - "description": "Invalid optimization parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "One or more optimization settings were unavailable.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -4667,74 +4349,141 @@ ] } }, - "/analytics/engines/spar/v3/benchmarks": { - "get": { + "/analytics/engines/bpm/v3/optimizations": { + "post": { "tags": [ - "Benchmarks" + "BPM Optimizer" ], - "summary": "Get SPAR benchmark details", - "description": "This endpoint returns the details of a given SPAR benchmark identifier.", - "operationId": "getSPARBenchmarkById", + "summary": "Create and Run BPM optimization", + "description": "This endpoint creates and runs BPM optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", + "operationId": "postAndOptimize", "parameters": [ { - "name": "id", - "in": "query", - "description": "Benchmark Identifier", - "required": true, + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", "schema": { - "type": "string", - "description": "Benchmark Identifier" + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Optimization Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BPMOptimizationParametersRoot" + } + } + } + }, "responses": { - "200": { - "description": "Expected response, returns the list of prefix and return types for the benchmark.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "Location": { + "description": "URL to poll for the resulting optimization", "schema": { "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" + "description": "URL to poll for the resulting optimization" } }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SPARBenchmarkRoot" - } - } - } - }, - "400": { - "description": "Invalid benchmark identifier.", - "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationInfoRoot" + } + } + } + }, + "201": { + "description": "Expected response, returns json if optimization is completed in a short span.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + } + } + }, + "400": { + "description": "Invalid optimization parameters.", + "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -4777,7 +4526,7 @@ } }, "404": { - "description": "Benchmark identifier not found.", + "description": "One or more optimization settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -4876,8 +4625,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -4914,7 +4663,7 @@ } }, "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -4930,6 +4679,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -4977,24 +4744,38 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", - "response-type": "SPARBenchmarkRoot" + "status-code": "202", + "response-type": "CalculationInfoRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] } }, - "/analytics/engines/bpm/v3/optimizations": { - "post": { + "/analytics/engines/bpm/v3/optimizations/{id}": { + "put": { "tags": [ "BPM Optimizer" ], - "summary": "Create and Run BPM optimization", - "description": "This endpoint creates and runs BPM optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", - "operationId": "postAndOptimize", + "summary": "Create or Update BPM optimization and run it.", + "description": "This endpoint updates and run the BPM optimization specified in the PUT body parameters. It also allows the creation of new BPM optimization with custom id.", + "operationId": "putAndOptimize", "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint" + } + }, { "name": "X-FactSet-Api-Long-Running-Deadline", "in": "header", @@ -5119,7 +4900,7 @@ } }, "400": { - "description": "Invalid optimization parameters.", + "description": "Invalid Optimization Parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5206,6 +4987,50 @@ } } }, + "409": { + "description": "Duplicate optimization exists with same parameters.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, "401": { "description": "Missing or invalid authentication.", "headers": { @@ -5392,16 +5217,14 @@ "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/bpm/v3/optimizations/{id}": { - "put": { + }, + "get": { "tags": [ "BPM Optimizer" ], - "summary": "Create or Update BPM optimization and run it.", - "description": "This endpoint updates and run the BPM optimization specified in the PUT body parameters. It also allows the creation of new BPM optimization with custom id.", - "operationId": "putAndOptimize", + "summary": "Get BPM optimization parameters by id", + "description": "This is the endpoint that returns the optimization parameters passed for an optimization.", + "operationId": "getOptimizationParameters", "parameters": [ { "name": "id", @@ -5412,43 +5235,31 @@ "type": "string", "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint" } - }, - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", - "schema": { - "type": "string" - } } ], - "requestBody": { - "description": "Optimization Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BPMOptimizationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response, returns the BPM optimization parameters.", "headers": { - "Location": { - "description": "URL to poll for the resulting optimization", + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", "schema": { "type": "string", - "description": "URL to poll for the resulting optimization" + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." } }, "X-DataDirect-Request-Key": { @@ -5487,13 +5298,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/BPMOptimizationParametersRoot" } } } }, - "201": { - "description": "Expected response, returns json if optimization is completed in a short span.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5531,13 +5342,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid Optimization Parameters.", + "404": { + "description": "Optimization id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5580,8 +5391,8 @@ } } }, - "404": { - "description": "One or more optimization settings were unavailable.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5596,36 +5407,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, - "409": { - "description": "Duplicate optimization exists with same parameters.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5659,17 +5445,29 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5686,9 +5484,38 @@ } } } - }, - "403": { - "description": "User is forbidden with current credentials", + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": "BPMOptimizationParametersRoot" + } + ] + }, + "delete": { + "tags": [ + "BPM Optimizer" + ], + "summary": "Cancel BPM optimization by id", + "description": "This is the endpoint to cancel a previously submitted optimization.", + "operationId": "cancelOptimizationById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint" + } + } + ], + "responses": { + "204": { + "description": "Expected response, optimization was canceled successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5724,8 +5551,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5759,10 +5586,27 @@ "type": "string" } } + }, + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", + "404": { + "description": "There was no request for the optimization identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -5795,9 +5639,76 @@ "schema": { "type": "string" } + } + }, + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", "schema": { "type": "string" } @@ -5843,25 +5754,23 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "202", - "response-type": "CalculationInfoRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" + "status-code": "204", + "response-type": null } ] - }, + } + }, + "/analytics/engines/bpm/v3/optimizations/{id}/status": { "get": { "tags": [ "BPM Optimizer" ], - "summary": "Get BPM optimization parameters by id", - "description": "This is the endpoint that returns the optimization parameters passed for an optimization.", - "operationId": "getOptimizationParameters", + "summary": "Get BPM optimization status by id", + "description": "This is the endpoint to check on the progress of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.\r\nOtherwise, the optimization is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", + "operationId": "getOptimizationStatusById", "parameters": [ { "name": "id", @@ -5875,28 +5784,65 @@ } ], "responses": { - "200": { - "description": "Expected response, returns the BPM optimization parameters.", + "201": { + "description": "Expected response once optimization is completed, returns JSON.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + "description": "FactSet's request key header." } }, - "Content-Type": { - "description": "Standard HTTP header.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { "type": "string", - "description": "Standard HTTP header." + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + } + } + }, + "202": { + "description": "Expected response returned if the optimization is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", "schema": { "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." } }, "X-DataDirect-Request-Key": { @@ -5931,13 +5877,6 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BPMOptimizationParametersRoot" - } - } } }, "400": { @@ -5985,7 +5924,7 @@ } }, "404": { - "description": "Optimization id not found", + "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6123,37 +6062,64 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", - "response-type": "BPMOptimizationParametersRoot" + "status-code": "201", + "response-type": "ObjectRoot" + }, + { + "status-code": "202", + "response-type": null } ] - }, - "delete": { + } + }, + "/analytics/engines/bpm/v3/optimizations/{id}/result": { + "get": { "tags": [ "BPM Optimizer" ], - "summary": "Cancel BPM optimization by id", - "description": "This is the endpoint to cancel a previously submitted optimization.", - "operationId": "cancelOptimizationById", + "summary": "Get BPM optimization result by id", + "description": "This is the endpoint to get the result of a previously requested optimization.", + "operationId": "getOptimizationResult", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint", + "description": "from url, provided from the location header in the Get BPM optimization status by id endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint" + "description": "from url, provided from the location header in the Get BPM optimization status by id endpoint" } } ], "responses": { - "204": { - "description": "Expected response, optimization was canceled successfully.", + "200": { + "description": "Expected response once optimization is completed, returns JSON.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -6186,6 +6152,13 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + } } }, "400": { @@ -6225,25 +6198,15 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "There was no request for the optimization identifier provided, or the request was already canceled for the provided identifier.", + "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6279,20 +6242,10 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, @@ -6353,7 +6306,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -6394,35 +6347,57 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "204", - "response-type": null + "status-code": "200", + "response-type": "ObjectRoot" } ] } }, - "/analytics/engines/bpm/v3/optimizations/{id}/status": { + "/analytics/engines/pa/v3/columns": { "get": { "tags": [ - "BPM Optimizer" + "Columns" ], - "summary": "Get BPM optimization status by id", - "description": "This is the endpoint to check on the progress of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.\r\nOtherwise, the optimization is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", - "operationId": "getOptimizationStatusById", + "summary": "Get PA columns", + "description": "This endpoint lists all the PA columns that can be applied to a calculation.", + "operationId": "getPAColumns", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint", - "required": true, + "name": "name", + "in": "query", + "description": "Column name", "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run BPM optimization endpoint" + "description": "Column name", + "default": "", + "example": "Security Name" + } + }, + { + "name": "category", + "in": "query", + "description": "Column category", + "schema": { + "type": "string", + "description": "Column category", + "default": "" + } + }, + { + "name": "directory", + "in": "query", + "description": "The directory to get the columns in", + "schema": { + "type": "string", + "description": "The directory to get the columns in", + "default": "", + "example": "Client" } } ], "responses": { - "201": { - "description": "Expected response once optimization is completed, returns JSON.", + "200": { + "description": "Expected response, returns a list of PA columns", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6438,6 +6413,13 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "Age": { + "description": "Standard HTTP header. Header will specify the age of columns list cached response.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify the age of columns list cached response." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -6460,28 +6442,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ColumnSummaryRoot" } } } }, - "202": { - "description": "Expected response returned if the optimization is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "401": { + "description": "Missing or invalid authentication.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -6495,29 +6463,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "400": { - "description": "Invalid identifier provided.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6551,17 +6501,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6595,36 +6538,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -6640,20 +6557,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -6699,64 +6604,40 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "201", - "response-type": "ObjectRoot" - }, - { - "status-code": "202", - "response-type": null + "status-code": "200", + "response-type": "ColumnSummaryRoot" } ] } }, - "/analytics/engines/bpm/v3/optimizations/{id}/result": { + "/analytics/engines/pa/v3/columns/{id}": { "get": { "tags": [ - "BPM Optimizer" + "Columns" ], - "summary": "Get BPM optimization result by id", - "description": "This is the endpoint to get the result of a previously requested optimization.", - "operationId": "getOptimizationResult", + "summary": "Get PA column settings", + "description": "This endpoint returns the default settings of a PA column.", + "operationId": "getPAColumnById", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Get BPM optimization status by id endpoint", + "description": "Unique identifier for a column", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get BPM optimization status by id endpoint" + "description": "Unique identifier for a column", + "example": "2DBD317E3C235BC96E2FF8CA36CE036AF2F7F55525479B524AE78FD7D6BBC4A7" } } ], "responses": { "200": { - "description": "Expected response once optimization is completed, returns JSON.", + "description": "Expected response, returns settings of a PA column.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -6771,6 +6652,13 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "Age": { + "description": "Standard HTTP header. Header will specify the age of columns list cached response.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify the age of columns list cached response." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -6793,13 +6681,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ColumnRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid column Id.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6843,7 +6731,7 @@ } }, "404": { - "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", + "description": "Column not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -6942,8 +6830,70 @@ } } }, + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -6985,54 +6935,22 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ObjectRoot" + "response-type": "ColumnRoot" } ] } }, - "/analytics/engines/pa/v3/columns": { + "/analytics/engines/pa/v3/columnstatistics": { "get": { "tags": [ - "Columns" - ], - "summary": "Get PA columns", - "description": "This endpoint lists all the PA columns that can be applied to a calculation.", - "operationId": "getPAColumns", - "parameters": [ - { - "name": "name", - "in": "query", - "description": "Column name", - "schema": { - "type": "string", - "description": "Column name", - "default": "" - } - }, - { - "name": "category", - "in": "query", - "description": "Column category", - "schema": { - "type": "string", - "description": "Column category", - "default": "" - } - }, - { - "name": "directory", - "in": "query", - "description": "The directory to get the columns in", - "schema": { - "type": "string", - "description": "The directory to get the columns in", - "default": "" - } - } + "ColumnStatistics" ], + "summary": "Get PA column statistics", + "description": "This endpoint lists all the column statistics that can be applied to a PA column.", + "operationId": "getPAColumnStatistics", "responses": { "200": { - "description": "Expected response, returns a list of PA columns", + "description": "Expected response, returns a list of PA column statistics", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7048,13 +6966,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Age": { - "description": "Standard HTTP header. Header will specify the age of columns list cached response.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify the age of columns list cached response." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -7077,7 +6988,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ColumnSummaryRoot" + "$ref": "#/components/schemas/ColumnStatisticRoot" } } } @@ -7243,34 +7154,35 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ColumnSummaryRoot" + "response-type": "ColumnStatisticRoot" } ] } }, - "/analytics/engines/pa/v3/columns/{id}": { + "/analytics/engines/pa/v3/components": { "get": { "tags": [ - "Columns" + "Components" ], - "summary": "Get PA column settings", - "description": "This endpoint returns the default settings of a PA column.", - "operationId": "getPAColumnById", + "summary": "Get PA components", + "description": "This endpoint returns the list of PA components in a given PA document.", + "operationId": "getPAComponents", "parameters": [ { - "name": "id", - "in": "path", - "description": "Unique identifier for a column", + "name": "document", + "in": "query", + "description": "Document Name", "required": true, "schema": { "type": "string", - "description": "Unique identifier for a column" + "description": "Document Name", + "example": "PA3_DOCUMENTS:DEFAULT" } } ], "responses": { "200": { - "description": "Expected response, returns settings of a PA column.", + "description": "Expected response, returns a list of PA components.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7286,13 +7198,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Age": { - "description": "Standard HTTP header. Header will specify the age of columns list cached response.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify the age of columns list cached response." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -7315,13 +7220,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ColumnRoot" + "$ref": "#/components/schemas/ComponentSummaryRoot" } } } }, "400": { - "description": "Invalid column Id.", + "description": "Invalid query parameter provided or Invalid PA document name.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7365,7 +7270,7 @@ } }, "404": { - "description": "Column not found.", + "description": "Document not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7569,22 +7474,35 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ColumnRoot" + "response-type": "ComponentSummaryRoot" } ] } }, - "/analytics/engines/pa/v3/columnstatistics": { + "/analytics/engines/pa/v3/components/{id}": { "get": { "tags": [ - "ColumnStatistics" + "Components" + ], + "summary": "Get PA component by id", + "description": "This endpoint returns the default settings of a PA component.", + "operationId": "getPAComponentById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Unique identifier for a PA component", + "required": true, + "schema": { + "type": "string", + "description": "Unique identifier for a PA component", + "example": "801B800245E468A52AEBEC4BE31CFF5AF82F371DAEF5F158AC2E98C2FA324B46" + } + } ], - "summary": "Get PA column statistics", - "description": "This endpoint lists all the column statistics that can be applied to a PA column.", - "operationId": "getPAColumnStatistics", "responses": { "200": { - "description": "Expected response, returns a list of PA column statistics", + "description": "Expected response, returns the default settings of a PA component.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7622,7 +7540,95 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ColumnStatisticRoot" + "$ref": "#/components/schemas/PAComponentRoot" + } + } + } + }, + "400": { + "description": "Invalid PA component id.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "404": { + "description": "Component not found.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -7746,7 +7752,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -7788,19 +7794,19 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ColumnStatisticRoot" + "response-type": "PAComponentRoot" } ] } }, - "/analytics/engines/pa/v3/components": { + "/analytics/engines/vault/v3/components": { "get": { "tags": [ "Components" ], - "summary": "Get PA components", - "description": "This endpoint returns the list of PA components in a given PA document.", - "operationId": "getPAComponents", + "summary": "Get Vault components", + "description": "This endpoint returns the list of Vault components in a given Vault document.", + "operationId": "getVaultComponents", "parameters": [ { "name": "document", @@ -7815,7 +7821,7 @@ ], "responses": { "200": { - "description": "Expected response, returns a list of PA components.", + "description": "Expected response, returns a list of Vault components.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7859,7 +7865,7 @@ } }, "400": { - "description": "Invalid query parameter provided or Invalid PA document name.", + "description": "Invalid query parameter provided or invalid Vault document name.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -7903,7 +7909,7 @@ } }, "404": { - "description": "Document not found.", + "description": "Vault Document not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8112,29 +8118,29 @@ ] } }, - "/analytics/engines/pa/v3/components/{id}": { + "/analytics/engines/vault/v3/components/{id}": { "get": { "tags": [ "Components" ], - "summary": "Get PA component by id", - "description": "This endpoint returns the default settings of a PA component.", - "operationId": "getPAComponentById", + "summary": "Get Vault component by id", + "description": "This endpoint returns the default settings of a Vault component.", + "operationId": "getVaultComponentById", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for a PA component", + "description": "Unique identifier for a vault component", "required": true, "schema": { "type": "string", - "description": "Unique identifier for a PA component" + "description": "Unique identifier for a vault component" } } ], "responses": { "200": { - "description": "Expected response, returns the default settings of a PA component.", + "description": "Expected response, returns the default settings of a Vault component.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8172,13 +8178,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PAComponentRoot" + "$ref": "#/components/schemas/VaultComponentRoot" } } } }, "400": { - "description": "Invalid PA component id.", + "description": "Invalid Vault component id.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8222,7 +8228,7 @@ } }, "404": { - "description": "Component not found.", + "description": "Vault Component not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8426,34 +8432,34 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "PAComponentRoot" + "response-type": "VaultComponentRoot" } ] } }, - "/analytics/engines/spar/v3/components": { + "/analytics/engines/vault/v3/configurations": { "get": { "tags": [ - "Components" + "Configurations" ], - "summary": "Get SPAR components", - "description": "This endpoint returns the list of SPAR components in a given SPAR document.", - "operationId": "getSPARComponents", + "summary": "Get Vault configurations", + "description": "This endpoint returns all the Vault configurations saved in the provided account.", + "operationId": "getVaultConfigurations", "parameters": [ { - "name": "document", + "name": "account", "in": "query", - "description": "Document Name", + "description": "Required account query parameter to filter configurations for a specific account", "required": true, "schema": { "type": "string", - "description": "Document Name" + "description": "Required account query parameter to filter configurations for a specific account" } } ], "responses": { "200": { - "description": "Expected response, returns a list of SPAR components.", + "description": "Expected response, returns a dictionary of Vault configurations.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8491,13 +8497,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ComponentSummaryRoot" + "$ref": "#/components/schemas/VaultConfigurationSummaryRoot" } } } }, "400": { - "description": "Invalid query parameter provided or Invalid SPAR document name.", + "description": "Invalid account.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8541,7 +8547,7 @@ } }, "404": { - "description": "SPAR Document not found.", + "description": "Account not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8745,34 +8751,34 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ComponentSummaryRoot" + "response-type": "VaultConfigurationSummaryRoot" } ] } }, - "/analytics/engines/vault/v3/components": { + "/analytics/engines/vault/v3/configurations/{id}": { "get": { "tags": [ - "Components" + "Configurations" ], - "summary": "Get Vault components", - "description": "This endpoint returns the list of Vault components in a given Vault document.", - "operationId": "getVaultComponents", + "summary": "Get Vault configuration by id", + "description": "This endpoint returns details for a Vault configuration as well as a list of accounts it is used in.", + "operationId": "getVaultConfigurationById", "parameters": [ { - "name": "document", - "in": "query", - "description": "Document Name", + "name": "id", + "in": "path", + "description": "Vault configuration id to get the details of", "required": true, "schema": { "type": "string", - "description": "Document Name" + "description": "Vault configuration id to get the details of" } } ], "responses": { "200": { - "description": "Expected response, returns a list of Vault components.", + "description": "Expected response, returns details for a Vault configuration.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8810,13 +8816,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ComponentSummaryRoot" + "$ref": "#/components/schemas/VaultConfigurationRoot" } } } }, "400": { - "description": "Invalid query parameter provided or invalid Vault document name.", + "description": "Invalid vault configuration code.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -8860,7 +8866,7 @@ } }, "404": { - "description": "Vault Document not found.", + "description": "Vault configuration id not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9064,122 +9070,22 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ComponentSummaryRoot" + "response-type": "VaultConfigurationRoot" } ] } }, - "/analytics/engines/vault/v3/components/{id}": { + "/analytics/lookups/v3/currencies": { "get": { "tags": [ - "Components" - ], - "summary": "Get Vault component by id", - "description": "This endpoint returns the default settings of a Vault component.", - "operationId": "getVaultComponentById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Unique identifier for a vault component", - "required": true, - "schema": { - "type": "string", - "description": "Unique identifier for a vault component" - } - } + "Currencies" ], + "summary": "Get currencies", + "description": "This endpoint lists all the currencies that can be applied to any calculation.", + "operationId": "getCurrencies", "responses": { "200": { - "description": "Expected response, returns the default settings of a Vault component.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VaultComponentRoot" - } - } - } - }, - "400": { - "description": "Invalid Vault component id.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "Vault Component not found.", + "description": "Expected response, returns a list of currencies.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9217,7 +9123,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CurrencyRoot" } } } @@ -9383,34 +9289,67 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "VaultComponentRoot" + "response-type": "CurrencyRoot" } ] } }, - "/analytics/engines/vault/v3/configurations": { + "/analytics/engines/pa/v3/dates": { "get": { "tags": [ - "Configurations" + "Dates" ], - "summary": "Get Vault configurations", - "description": "This endpoint returns all the Vault configurations saved in the provided account.", - "operationId": "getVaultConfigurations", + "summary": "Convert PA dates to absolute format", + "description": "This endpoint converts the given start and end dates in FactSet date format to yyyymmdd format for a PA calculation. For more information on FactSet date format, please refer to the PA Engine API documentation under the 'API Documentation' section in the developer portal.", + "operationId": "convertPADatesToAbsoluteFormat", "parameters": [ + { + "name": "startdate", + "in": "query", + "description": "Start Date", + "schema": { + "type": "string", + "description": "Start Date", + "example": "-3AY" + } + }, + { + "name": "enddate", + "in": "query", + "description": "End Date", + "required": true, + "schema": { + "type": "string", + "description": "End Date", + "example": "-1AY" + } + }, + { + "name": "componentid", + "in": "query", + "description": "Component Id", + "required": true, + "schema": { + "type": "string", + "description": "Component Id", + "example": "801B800245E468A52AEBEC4BE31CFF5AF82F371DAEF5F158AC2E98C2FA324B46" + } + }, { "name": "account", "in": "query", - "description": "Required account query parameter to filter configurations for a specific account", + "description": "Account ( Should be in Format - AccountName.ACCT )", "required": true, "schema": { "type": "string", - "description": "Required account query parameter to filter configurations for a specific account" + "description": "Account ( Should be in Format - AccountName.ACCT )", + "example": "Account Name" } } ], "responses": { "200": { - "description": "Expected response, returns a dictionary of Vault configurations.", + "description": "Expected response, returns the converted dates in yyyymmdd format.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9448,13 +9387,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VaultConfigurationSummaryRoot" + "$ref": "#/components/schemas/DateParametersSummaryRoot" } } } }, "400": { - "description": "Invalid account.", + "description": "Invalid query parameter or value is provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9498,7 +9437,7 @@ } }, "404": { - "description": "Account not found.", + "description": "Document or account not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9702,34 +9641,63 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "VaultConfigurationSummaryRoot" + "response-type": "DateParametersSummaryRoot" } ] } }, - "/analytics/engines/vault/v3/configurations/{id}": { + "/analytics/engines/vault/v3/dates": { "get": { "tags": [ - "Configurations" + "Dates" ], - "summary": "Get Vault configuration by id", - "description": "This endpoint returns details for a Vault configuration as well as a list of accounts it is used in.", - "operationId": "getVaultConfigurationById", + "summary": "Convert Vault dates to absolute format", + "description": "This endpoint converts the given start and end dates in FactSet date format to yyyymmdd format for a Vault calculation. For more information on FactSet date format, please refer to the Vault API documentation under the 'API Documentation' section in the developer portal.", + "operationId": "convertVaultDatesToAbsoluteFormat", "parameters": [ { - "name": "id", - "in": "path", - "description": "Vault configuration id to get the details of", + "name": "startdate", + "in": "query", + "description": "Start Date", + "schema": { + "type": "string", + "description": "Start Date" + } + }, + { + "name": "enddate", + "in": "query", + "description": "End Date", "required": true, "schema": { "type": "string", - "description": "Vault configuration id to get the details of" + "description": "End Date" + } + }, + { + "name": "componentid", + "in": "query", + "description": "Vault Component Id", + "required": true, + "schema": { + "type": "string", + "description": "Vault Component Id" + } + }, + { + "name": "account", + "in": "query", + "description": "Account", + "required": true, + "schema": { + "type": "string", + "description": "Account" } } ], "responses": { "200": { - "description": "Expected response, returns details for a Vault configuration.", + "description": "Expected response, returns the converted dates in yyyymmdd format.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9767,13 +9735,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VaultConfigurationRoot" + "$ref": "#/components/schemas/DateParametersSummaryRoot" } } } }, "400": { - "description": "Invalid vault configuration code.", + "description": "Invalid query parameter or value is provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -9817,7 +9785,7 @@ } }, "404": { - "description": "Vault configuration id not found.", + "description": "vault Document or account not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10021,22 +9989,31 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "VaultConfigurationRoot" + "response-type": "DateParametersSummaryRoot" } ] } }, - "/analytics/lookups/v3/currencies": { + "/analytics/engines/fi/v3/discount-curves": { "get": { "tags": [ - "Currencies" + "DiscountCurves" + ], + "summary": "Get Discount Curves", + "description": "This endpoint lists all the discount curves that can be applied to a FI calculation.", + "operationId": "getAllFIDiscountCurves", + "parameters": [ + { + "name": "currency", + "in": "query", + "schema": { + "type": "string" + } + } ], - "summary": "Get currencies", - "description": "This endpoint lists all the currencies that can be applied to any calculation.", - "operationId": "getCurrencies", "responses": { "200": { - "description": "Expected response, returns a list of currencies.", + "description": "Expected response, returns a list of FI discount curves.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10074,7 +10051,51 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CurrencyRoot" + "$ref": "#/components/schemas/FIDiscountCurveInfoRoot" + } + } + } + }, + "404": { + "description": "Not found", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -10240,63 +10261,36 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CurrencyRoot" + "response-type": "FIDiscountCurveInfoRoot" } ] } }, - "/analytics/engines/pa/v3/dates": { + "/analytics/engines/pa/v3/documents/{path}": { "get": { "tags": [ - "Dates" + "Documents" ], - "summary": "Convert PA dates to absolute format", - "description": "This endpoint converts the given start and end dates in FactSet date format to yyyymmdd format for a PA calculation. For more information on FactSet date format, please refer to the PA Engine API documentation under the 'API Documentation' section in the developer portal.", - "operationId": "convertPADatesToAbsoluteFormat", + "summary": "Get PA3 documents and sub-directories in a directory", + "description": "This endpoint looks up all PA3 documents and sub-directories in a given directory.", + "operationId": "getPA3Documents", "parameters": [ { - "name": "startdate", - "in": "query", - "description": "Start Date", - "schema": { - "type": "string", - "description": "Start Date" - } - }, - { - "name": "enddate", - "in": "query", - "description": "End Date", - "required": true, - "schema": { - "type": "string", - "description": "End Date" - } - }, - { - "name": "componentid", - "in": "query", - "description": "Component Id", - "required": true, - "schema": { - "type": "string", - "description": "Component Id" - } - }, - { - "name": "account", - "in": "query", - "description": "Account", + "name": "path", + "in": "path", + "description": "The directory to get the documents and sub-directories in", "required": true, "schema": { "type": "string", - "description": "Account" + "description": "The directory to get the documents and sub-directories in", + "default": "", + "example": "Client:" } } ], "responses": { "200": { - "description": "Expected response, returns the converted dates in yyyymmdd format.", + "description": "Expected response, returns a list of PA3 documents and directories", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10334,13 +10328,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DateParametersSummaryRoot" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, "400": { - "description": "Invalid query parameter or value is provided.", + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10384,7 +10378,7 @@ } }, "404": { - "description": "Document or account not found.", + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10428,7 +10422,7 @@ } }, "401": { - "description": "Missing or invalid authentication.", + "description": "Missing or invalid authentication", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10484,7 +10478,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10546,7 +10540,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -10565,7 +10559,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10588,63 +10582,35 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DateParametersSummaryRoot" + "response-type": "DocumentDirectoriesRoot" } ] } }, - "/analytics/engines/vault/v3/dates": { + "/analytics/engines/vault/v3/documents/{path}": { "get": { "tags": [ - "Dates" + "Documents" ], - "summary": "Convert Vault dates to absolute format", - "description": "This endpoint converts the given start and end dates in FactSet date format to yyyymmdd format for a Vault calculation. For more information on FactSet date format, please refer to the Vault API documentation under the 'API Documentation' section in the developer portal.", - "operationId": "convertVaultDatesToAbsoluteFormat", + "summary": "Get Vault documents and sub-directories in a directory", + "description": "This endpoint looks up all Vault documents and sub-directories in a given directory.", + "operationId": "getVaultDocuments", "parameters": [ { - "name": "startdate", - "in": "query", - "description": "Start Date", - "schema": { - "type": "string", - "description": "Start Date" - } - }, - { - "name": "enddate", - "in": "query", - "description": "End Date", - "required": true, - "schema": { - "type": "string", - "description": "End Date" - } - }, - { - "name": "componentid", - "in": "query", - "description": "Vault Component Id", - "required": true, - "schema": { - "type": "string", - "description": "Vault Component Id" - } - }, - { - "name": "account", - "in": "query", - "description": "Account", + "name": "path", + "in": "path", + "description": "The directory to get the documents in", "required": true, "schema": { "type": "string", - "description": "Account" + "description": "The directory to get the documents in", + "default": "" } } ], "responses": { "200": { - "description": "Expected response, returns the converted dates in yyyymmdd format.", + "description": "Expected response, returns a list of Vault documents and directories", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10682,13 +10648,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DateParametersSummaryRoot" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, "400": { - "description": "Invalid query parameter or value is provided.", + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10732,7 +10698,7 @@ } }, "404": { - "description": "vault Document or account not found.", + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10776,7 +10742,7 @@ } }, "401": { - "description": "Missing or invalid authentication.", + "description": "Missing or invalid authentication", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10832,7 +10798,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10894,7 +10860,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -10913,7 +10879,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10936,31 +10902,35 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DateParametersSummaryRoot" + "response-type": "DocumentDirectoriesRoot" } ] } }, - "/analytics/engines/fi/v3/discount-curves": { + "/analytics/engines/pub/v3/documents/{path}": { "get": { "tags": [ - "DiscountCurves" + "Documents" ], - "summary": "Get Discount Curves", - "description": "This endpoint lists all the discount curves that can be applied to a FI calculation.", - "operationId": "getAllFIDiscountCurves", + "summary": "Gets Publisher documents and sub-directories in a directory", + "description": "This endpoint looks up all Publisher documents and sub-directories in a given directory.", + "operationId": "getPubDocuments", "parameters": [ { - "name": "currency", - "in": "query", + "name": "path", + "in": "path", + "description": "The directory to get the documents in", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "The directory to get the documents in", + "default": "" } } ], "responses": { "200": { - "description": "Expected response, returns a list of FI discount curves.", + "description": "Expected response, returns a list of Publisher documents and directories", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -10998,13 +10968,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FIDiscountCurveInfoRoot" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, - "404": { - "description": "Not found", + "400": { + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11047,64 +11017,8 @@ } } }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "404": { + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11138,35 +11052,17 @@ "type": "string" } } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + }, + "content": { + "application/json": { "schema": { - "type": "string" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "401": { + "description": "Missing or invalid authentication", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11184,59 +11080,8 @@ } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "FIDiscountCurveInfoRoot" - } - ] - } - }, - "/analytics/engines/pa/v3/documents/{path}": { - "get": { - "tags": [ - "Documents" - ], - "summary": "Get PA3 documents and sub-directories in a directory", - "description": "This endpoint looks up all PA3 documents and sub-directories in a given directory.", - "operationId": "getPA3Documents", - "parameters": [ - { - "name": "path", - "in": "path", - "description": "The directory to get the documents and sub-directories in", - "required": true, - "schema": { - "type": "string", - "description": "The directory to get the documents and sub-directories in", - "default": "" - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns a list of PA3 documents and directories", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11270,17 +11115,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" - } - } } }, - "400": { - "description": "Invalid query parameter or value provided", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11314,17 +11152,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Path not found", + "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.", @@ -11340,35 +11171,35 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", + } + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "type": "string" + "type": "string", + "description": "FactSet's request key header." } }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication", + "503": { + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11385,10 +11216,46 @@ } } } - }, - "403": { - "description": "User is forbidden with current credentials", + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": "DocumentDirectoriesRoot" + } + ] + } + }, + "/analytics/engines/fiab/v1/calculations": { + "post": { + "tags": [ + "FIAB Calculations" + ], + "summary": "Run FIAB calculation", + "description": "This endpoint creates a new FIAB calculation.\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*\tAny settings in POST body will act as a one-time override over the settings saved in the FIAB template.", + "operationId": "runCalculation", + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FIABCalculationParameters" + } + } + } + }, + "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.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11403,6 +11270,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", + "schema": { + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -11423,9 +11304,16 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "400": { + "description": "Invalid POST body.", "headers": { + "Location": { + "description": "URL to check status of the request.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11440,6 +11328,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", + "schema": { + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -11460,9 +11362,16 @@ } } }, - "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "401": { + "description": "Missing or invalid authentication.", "headers": { + "Location": { + "description": "URL to check status of the request.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11477,17 +11386,32 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", "schema": { - "type": "string" + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." } } } }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "403": { + "description": "User is forbidden with current credentials.", "headers": { + "Location": { + "description": "URL to check status of the request.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11501,12 +11425,51 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", + "schema": { + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "503": { - "description": "Request timed out. Retry the request in some time", + "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.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11520,56 +11483,19 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "DocumentDirectoriesRoot" - } - ] - } - }, - "/analytics/engines/vault/v3/documents/{path}": { - "get": { - "tags": [ - "Documents" - ], - "summary": "Get Vault documents and sub-directories in a directory", - "description": "This endpoint looks up all Vault documents and sub-directories in a given directory.", - "operationId": "getVaultDocuments", - "parameters": [ - { - "name": "path", - "in": "path", - "description": "The directory to get the documents in", - "required": true, - "schema": { - "type": "string", - "description": "The directory to get the documents in", - "default": "" - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns a list of Vault documents and directories", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", "schema": { "type": "string", - "description": "FactSet's request key header." + "description": "Maximum FIAB request limit." } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", "schema": { "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "description": "Number of FIAB requests remaining till request limit reached." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -11590,18 +11516,18 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" - } - } } }, - "400": { - "description": "Invalid query parameter or value provided", + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel FIAB Calculation endpoint or wait for older requests to finish / expire.", "headers": { + "Location": { + "description": "URL to check status of the request.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11616,6 +11542,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", + "schema": { + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -11633,18 +11573,114 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } - }, - "content": { - "application/json": { + } + }, + "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.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "URL to check status of the request." + } + }, + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", + "schema": { + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." } } } }, - "404": { - "description": "Path not found", + "503": { + "description": "Request timed out. Retry the request in sometime.", + "headers": { + "Location": { + "description": "URL to check status of the request.", + "schema": { + "type": "string", + "description": "URL to check status of the request." + } + }, + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FIAB request limit.", + "schema": { + "type": "string", + "description": "Maximum FIAB request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FIAB requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FIAB requests remaining till request limit reached." + } + } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "202", + "response-type": null + } + ] + }, + "get": { + "tags": [ + "FIAB Calculations" + ], + "summary": "Get all FIAB calculation summaries", + "description": "This endpoints returns all FIAB calculation requests.", + "operationId": "getCalculationStatusSummaries", + "responses": { + "200": { + "description": "List of active FIAB calculation requests.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11682,13 +11718,16 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/FIABCalculationStatusSummary" + } } } } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11707,7 +11746,7 @@ } }, "403": { - "description": "User is forbidden with current credentials", + "description": "User is forbidden with current credentials.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11744,7 +11783,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11806,7 +11845,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -11825,7 +11864,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11848,36 +11887,56 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DocumentDirectoriesRoot" + "response-type": null } ] } }, - "/analytics/engines/spar/v3/documents/{path}": { + "/analytics/engines/fiab/v1/calculations/{id}": { "get": { "tags": [ - "Documents" + "FIAB Calculations" ], - "summary": "Gets SPAR3 documents and sub-directories in a directory", - "description": "This endpoint looks up all SPAR3 documents and sub-directories in a given directory.", - "operationId": "getSPAR3Documents", + "summary": "Get FIAB calculation by id", + "description": "This is the endpoint to check on the progress of a previously requested calculation.", + "operationId": "getCalculationById", "parameters": [ { - "name": "path", + "name": "id", "in": "path", - "description": "The directory to get the documents in", + "description": "from url, provided from the location header in the Run FIAB Calculation endpoint", "required": true, "schema": { "type": "string", - "description": "The directory to get the documents in", - "default": "" + "description": "from url, provided from the location header in the Run FIAB Calculation endpoint" } } ], "responses": { "200": { - "description": "Expected response, returns a list of SPAR3 documents and directories", + "description": "Expected response, returns status information of the entire calculation if it is complete.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11914,14 +11973,21 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" + "$ref": "#/components/schemas/FIABCalculationStatus" } } } }, - "400": { - "description": "Invalid query parameter or value provided", + "202": { + "description": "Expected response, returns status information of the entire calculation if it is not complete.", "headers": { + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -11958,13 +12024,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/FIABCalculationStatus" } } } }, - "404": { - "description": "Path not found", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -11998,17 +12064,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12063,8 +12122,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12100,31 +12159,6 @@ } } }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", "headers": { @@ -12145,7 +12179,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12168,36 +12202,62 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DocumentDirectoriesRoot" - } - ] + "response-type": "FIABCalculationStatus" + }, + { + "status-code": "202", + "response-type": "FIABCalculationStatus" + } + ] } }, - "/analytics/engines/pub/v3/documents/{path}": { - "get": { + "/analytics/engines/fi/v3/calculations": { + "post": { "tags": [ - "Documents" + "FICalculations" ], - "summary": "Gets Publisher documents and sub-directories in a directory", - "description": "This endpoint looks up all Publisher documents and sub-directories in a given directory.", - "operationId": "getPubDocuments", + "summary": "Create and Run FI calculation", + "description": "This endpoint creates and runs a new FI calculation specified in the post body.", + "operationId": "postAndCalculate", "parameters": [ { - "name": "path", - "in": "path", - "description": "The directory to get the documents in", - "required": true, + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", "schema": { - "type": "string", - "description": "The directory to get the documents in", - "default": "" + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FICalculationParametersRoot" + } + } + } + }, "responses": { - "200": { - "description": "Expected response, returns a list of Publisher documents and directories", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting calculation", + "schema": { + "type": "string", + "description": "URL to poll for the resulting calculation" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12212,6 +12272,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -12234,13 +12308,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" + "$ref": "#/components/schemas/CalculationInfoRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationInfoRoot" } } } }, - "400": { - "description": "Invalid query parameter or value provided", + "201": { + "description": "Expected response if calculation is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12256,6 +12335,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -12278,13 +12371,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "404": { - "description": "Path not found", + "400": { + "description": "Invalid calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12300,6 +12398,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -12324,11 +12436,16 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, - "401": { - "description": "Missing or invalid authentication", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12343,24 +12460,19 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", "schema": { "type": "string", - "description": "FactSet's request key header." + "description": "Maximum FI request limit." } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", "schema": { "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "description": "Number of FI requests remaining till request limit reached." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -12381,10 +12493,22 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12400,28 +12524,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", "schema": { - "type": "string" + "type": "string", + "description": "Maximum FI request limit." } }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", "schema": { - "type": "string" + "type": "string", + "description": "Number of FI requests remaining till request limit reached." } } } }, - "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12437,91 +12557,43 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", "schema": { - "type": "string" + "type": "string", + "description": "Maximum FI request limit." } - } - } - }, - "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.", + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", "schema": { "type": "string", - "description": "FactSet's request key header." + "description": "Number of FI requests remaining till request limit reached." } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "type": "string" } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in some time", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", "schema": { - "type": "string", - "description": "FactSet's request key header." + "type": "string" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "type": "string" } } } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "DocumentDirectoriesRoot" - } - ] - } - }, - "/analytics/engines/fiab/v1/calculations": { - "post": { - "tags": [ - "FIAB Calculations" - ], - "summary": "Run FIAB calculation", - "description": "This endpoint creates a new FIAB calculation.\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*\tAny settings in POST body will act as a one-time override over the settings saved in the FIAB template.", - "operationId": "runCalculation", - "requestBody": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FIABCalculationParameters" - } - } - } - }, - "responses": { - "202": { - "description": "Expected response, contains the URL in the Location header to check the status of the calculation.", + }, + "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.", - "schema": { - "type": "string", - "description": "URL to check status of the request." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12537,17 +12609,17 @@ } }, "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", + "description": "Maximum FI request limit.", "schema": { "type": "string", - "description": "Maximum FIAB request limit." + "description": "Maximum FI request limit." } }, "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", + "description": "Number of FI requests remaining till request limit reached.", "schema": { "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." + "description": "Number of FI requests remaining till request limit reached." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -12570,16 +12642,9 @@ } } }, - "400": { - "description": "Invalid POST body.", + "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.", - "schema": { - "type": "string", - "description": "URL to check status of the request." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12595,17 +12660,17 @@ } }, "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", + "description": "Maximum FI request limit.", "schema": { "type": "string", - "description": "Maximum FIAB request limit." + "description": "Maximum FI request limit." } }, "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", + "description": "Number of FI requests remaining till request limit reached.", "schema": { "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." + "description": "Number of FI requests remaining till request limit reached." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -12625,19 +12690,18 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, - "401": { - "description": "Missing or invalid authentication.", + "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.", - "schema": { - "type": "string", - "description": "URL to check status of the request." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12653,31 +12717,24 @@ } }, "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", + "description": "Maximum FI request limit.", "schema": { "type": "string", - "description": "Maximum FIAB request limit." + "description": "Maximum FI request limit." } }, "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", + "description": "Number of FI requests remaining till request limit reached.", "schema": { "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." + "description": "Number of FI requests remaining till request limit reached." } } } }, - "403": { - "description": "User is forbidden with current credentials.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { - "Location": { - "description": "URL to check status of the request.", - "schema": { - "type": "string", - "description": "URL to check status of the request." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12693,47 +12750,90 @@ } }, "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", + "description": "Maximum FI request limit.", "schema": { "type": "string", - "description": "Maximum FIAB request limit." + "description": "Maximum FI request limit." } }, "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", + "description": "Number of FI requests remaining till request limit reached.", "schema": { "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" + "description": "Number of FI requests remaining till request limit reached." } } } + } + }, + "x-are-multiple-success-responses-different": true, + "x-success-response-types": [ + { + "status-code": "202", + "response-type": "CalculationInfoRoot" }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + { + "status-code": "201", + "response-type": "ObjectRoot" + } + ] + } + }, + "/analytics/engines/fi/v3/calculations/{id}": { + "put": { + "tags": [ + "FICalculations" + ], + "summary": "Create or Update FI calculation and run it.", + "description": "This endpoint updates and run the FI optimization specified in the PUT body parameters. It also allows the creation of new FI optimization with custom id.", + "operationId": "putAndCalculate", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" + } + }, + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", + "schema": { + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FICalculationParametersRoot" + } + } + } + }, + "responses": { + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { "Location": { - "description": "URL to check status of the request.", + "description": "URL to poll for the resulting calculation", "schema": { "type": "string", - "description": "URL to check status of the request." + "description": "URL to poll for the resulting calculation" } }, "X-DataDirect-Request-Key": { @@ -12750,20 +12850,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", - "schema": { - "type": "string", - "description": "Maximum FIAB request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -12782,18 +12868,23 @@ "type": "string" } } - } - }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel FIAB Calculation endpoint or wait for older requests to finish / expire.", - "headers": { - "Location": { - "description": "URL to check status of the request.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "URL to check status of the request." + "$ref": "#/components/schemas/CalculationInfoRoot" } }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationInfoRoot" + } + } + } + }, + "201": { + "description": "Expected response if calculation is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12808,20 +12899,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", - "schema": { - "type": "string", - "description": "Maximum FIAB request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -12839,30 +12916,29 @@ "schema": { "type": "string" } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "application/x-protobuf": { "schema": { - "type": "string" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "400": { + "description": "Invalid Calculation Parameters.", "headers": { - "Location": { - "description": "URL to check status of the request.", + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "URL to check status of the request." - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." + "description": "FactSet's request key header." } }, "X-FactSet-Api-Request-Key": { @@ -12872,32 +12948,41 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", "schema": { - "type": "string", - "description": "Maximum FIAB request limit." + "type": "string" } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", "schema": { - "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" } } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "Location": { - "description": "URL to check status of the request.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "URL to check status of the request." + "$ref": "#/components/schemas/ClientErrorResponse" } }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "404": { + "description": "One or more calculation settings were unavailable.", + "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -12912,41 +12997,40 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FIAB request limit.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", "schema": { - "type": "string", - "description": "Maximum FIAB request limit." + "type": "string" } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FIAB requests remaining till request limit reached.", + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", "schema": { - "type": "string", - "description": "Number of FIAB requests remaining till request limit reached." + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "202", - "response-type": null - } - ] - }, - "get": { - "tags": [ - "FIAB Calculations" - ], - "summary": "Get all FIAB calculation summaries", - "description": "This endpoints returns all FIAB calculation requests.", - "operationId": "getCalculationStatusSummaries", - "responses": { - "200": { - "description": "List of active FIAB calculation requests.", + }, + "409": { + "description": "Duplicate calculation exists with same parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -12984,10 +13068,12 @@ "content": { "application/json": { "schema": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/FIABCalculationStatusSummary" - } + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -13012,7 +13098,7 @@ } }, "403": { - "description": "User is forbidden with current credentials.", + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13048,8 +13134,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13086,7 +13172,7 @@ } }, "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13102,6 +13188,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -13149,38 +13253,40 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", - "response-type": null + "status-code": "202", + "response-type": "CalculationInfoRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/fiab/v1/calculations/{id}": { + }, "get": { "tags": [ - "FIAB Calculations" + "FICalculations" ], - "summary": "Get FIAB calculation by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.", - "operationId": "getCalculationById", + "summary": "Get FI calculation parameters by id", + "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", + "operationId": "getCalculationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Run FIAB Calculation endpoint", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Run FIAB Calculation endpoint" + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" } } ], "responses": { "200": { - "description": "Expected response, returns status information of the entire calculation if it is complete.", + "description": "Expected response, returns the FI calculation parameters.", "headers": { "Content-Encoding": { "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", @@ -13239,21 +13345,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FIABCalculationStatus" + "$ref": "#/components/schemas/FICalculationParametersRoot" } } } }, - "202": { - "description": "Expected response, returns status information of the entire calculation if it is not complete.", + "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.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -13290,13 +13389,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FIABCalculationStatus" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "404": { + "description": "Calculation id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13330,6 +13429,13 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, "401": { @@ -13388,43 +13494,6 @@ } } }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", "headers": { @@ -13468,62 +13537,33 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "FIABCalculationStatus" - }, - { - "status-code": "202", - "response-type": "FIABCalculationStatus" + "response-type": "FICalculationParametersRoot" } ] - } - }, - "/analytics/engines/fi/v3/calculations": { - "post": { + }, + "delete": { "tags": [ "FICalculations" ], - "summary": "Create and Run FI calculation", - "description": "This endpoint creates and runs a new FI calculation specified in the post body.", - "operationId": "postAndCalculate", + "summary": "Cancel FI calculation by id", + "description": "This is the endpoint to cancel a previously submitted calculation.", + "operationId": "cancelCalculationById", "parameters": [ { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FICalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "204": { + "description": "Expected response, calculation was canceled successfully.", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -13538,18 +13578,41 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "Invalid identifier provided.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "Maximum FI request limit." + "description": "FactSet's request key header." } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { "type": "string", - "description": "Number of FI requests remaining till request limit reached." + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -13572,20 +13635,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "201": { - "description": "Expected response if calculation is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "404": { + "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13601,20 +13669,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -13635,20 +13689,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid calculation parameters.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13663,19 +13722,24 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "Maximum FI request limit." + "description": "FactSet's request key header." } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { "type": "string", - "description": "Number of FI requests remaining till request limit reached." + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -13696,22 +13760,29 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13726,19 +13797,55 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", + } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "204", + "response-type": null + } + ] + } + }, + "/analytics/engines/fi/v3/calculations/{id}/status": { + "get": { + "tags": [ + "FICalculations" + ], + "summary": "Get FI calculation status by id", + "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.\r\nOtherwise, the calculation is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", + "operationId": "getCalculationStatusById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" + } + } + ], + "responses": { + "201": { + "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "Maximum FI request limit." + "description": "FactSet's request key header." } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { "type": "string", - "description": "Number of FI requests remaining till request limit reached." + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -13763,19 +13870,33 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } }, "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "401": { - "description": "Missing or invalid authentication.", + "202": { + "description": "Expected response returned if the calculation is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -13790,24 +13911,28 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", "schema": { - "type": "string", - "description": "Maximum FI request limit." + "type": "string" } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" } } } }, - "403": { - "description": "User is forbidden with current credentials", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13823,20 +13948,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -13855,10 +13966,22 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13874,20 +13997,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -13906,10 +14015,22 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -13924,19 +14045,24 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "Maximum FI request limit." + "description": "FactSet's request key header." } }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { "type": "string", - "description": "Number of FI requests remaining till request limit reached." + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, "X-FactSet-Api-RateLimit-Limit": { @@ -13956,17 +14082,11 @@ "schema": { "type": "string" } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -13981,20 +14101,6 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } } } }, @@ -14014,92 +14120,66 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } } } } }, "x-are-multiple-success-responses-different": true, "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationInfoRoot" - }, { "status-code": "201", "response-type": "ObjectRoot" + }, + { + "status-code": "202", + "response-type": null } ] } }, - "/analytics/engines/fi/v3/calculations/{id}": { - "put": { + "/analytics/engines/fi/v3/calculations/{id}/result": { + "get": { "tags": [ "FICalculations" ], - "summary": "Create or Update FI calculation and run it.", - "description": "This endpoint updates and run the FI optimization specified in the PUT body parameters. It also allows the creation of new FI optimization with custom id.", - "operationId": "putAndCalculate", + "summary": "Get FI calculation result by id", + "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", + "operationId": "getCalculationResult", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", + "description": "from url, provided from the location header in the Get FI calculation status by id endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" - } - }, - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", - "schema": { - "type": "string" + "description": "from url, provided from the location header in the Get FI calculation status by id endpoint" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FICalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", "schema": { "type": "string", - "description": "URL to poll for the resulting calculation" + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." } }, "X-DataDirect-Request-Key": { @@ -14138,18 +14218,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/ObjectRoot" } }, "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "201": { - "description": "Expected response if calculation is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14187,18 +14267,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid Calculation Parameters.", + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14246,8 +14326,8 @@ } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14262,41 +14342,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, - "409": { - "description": "Duplicate calculation exists with same parameters.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14330,22 +14380,29 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14362,10 +14419,64 @@ } } } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": "ObjectRoot" + } + ] + } + }, + "/analytics/engines/fpo/v3/optimizations": { + "post": { + "tags": [ + "FPO Optimizer" + ], + "summary": "Create and Run FPO optimization", + "description": "This endpoint runs FPO optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", + "operationId": "postAndOptimize", + "parameters": [ + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", + "schema": { + "type": "integer" + } }, - "403": { - "description": "User is forbidden with current credentials", + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Optimization Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FPOOptimizationParametersRoot" + } + } + } + }, + "responses": { + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting optimization", + "schema": { + "type": "string", + "description": "URL to poll for the resulting optimization" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -14398,10 +14509,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationInfoRoot" + } + } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "201": { + "description": "Expected response, returns json if optimization is completed in a short span.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14435,10 +14553,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "400": { + "description": "Invalid optimization parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14471,110 +14596,19 @@ "schema": { "type": "string" } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } - } - }, - "x-are-multiple-success-responses-different": true, - "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationInfoRoot" }, - { - "status-code": "201", - "response-type": "ObjectRoot" - } - ] - }, - "get": { - "tags": [ - "FICalculations" - ], - "summary": "Get FI calculation parameters by id", - "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", - "operationId": "getCalculationParameters", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns the FI calculation parameters.", + "404": { + "description": "One or more optimization settings were unavailable.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -14611,13 +14645,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FICalculationParametersRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14651,17 +14704,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Calculation id not found", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14695,36 +14741,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14757,11 +14777,17 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -14799,37 +14825,76 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", - "response-type": "FICalculationParametersRoot" + "status-code": "202", + "response-type": "CalculationInfoRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] - }, - "delete": { + } + }, + "/analytics/engines/fpo/v3/optimizations/{id}": { + "put": { "tags": [ - "FICalculations" + "FPO Optimizer" ], - "summary": "Cancel FI calculation by id", - "description": "This is the endpoint to cancel a previously submitted calculation.", - "operationId": "cancelCalculationById", + "summary": "Create or Update FPO optimization and run it.", + "description": "This endpoint updates and run the FPO optimization specified in the PUT body parameters. It also allows the creation of new FPO optimization with custom id.", + "operationId": "putAndOptimize", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" + } + }, + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", + "schema": { + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Optimization Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FPOOptimizationParametersRoot" + } + } + } + }, "responses": { - "204": { - "description": "Expected response, calculation was canceled successfully.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting optimization", + "schema": { + "type": "string", + "description": "URL to poll for the resulting optimization" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -14862,10 +14927,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationInfoRoot" + } + } } }, - "400": { - "description": "Invalid identifier provided.", + "201": { + "description": "Expected response, returns json if optimization is completed in a short span.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14901,25 +14973,15 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "404": { - "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", + "400": { + "description": "Invalid Optimization Parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -14955,44 +15017,15 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } } } }, - "403": { - "description": "User is forbidden with current credentials", + "404": { + "description": "One or more optimization settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15026,79 +15059,17 @@ "type": "string" } } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "204", - "response-type": null - } - ] - } - }, - "/analytics/engines/fi/v3/calculations/{id}/status": { - "get": { - "tags": [ - "FICalculations" - ], - "summary": "Get FI calculation status by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.\r\nOtherwise, the calculation is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", - "operationId": "getCalculationStatusById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run FI calculation endpoint" - } - } - ], - "responses": { - "201": { - "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", + "409": { + "description": "Duplicate optimization exists with same parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15136,33 +15107,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "202": { - "description": "Expected response returned if the calculation is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "401": { + "description": "Missing or invalid authentication.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -15176,29 +15128,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "400": { - "description": "Invalid identifier provided.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15232,22 +15166,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15281,41 +15203,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15348,11 +15239,17 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -15393,39 +15290,37 @@ "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "201", - "response-type": "ObjectRoot" + "status-code": "202", + "response-type": "CalculationInfoRoot" }, { - "status-code": "202", - "response-type": null + "status-code": "201", + "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/fi/v3/calculations/{id}/result": { + }, "get": { "tags": [ - "FICalculations" + "FPO Optimizer" ], - "summary": "Get FI calculation result by id", - "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", - "operationId": "getCalculationResult", + "summary": "Get FPO optimization parameters by id", + "description": "This is the endpoint that returns the optimization parameters passed for an optimization.", + "operationId": "getOptimizationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Get FI calculation status by id endpoint", + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get FI calculation status by id endpoint" + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", + "description": "Expected response, returns the FPO optimization parameters.", "headers": { "Content-Encoding": { "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", @@ -15484,12 +15379,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/FPOOptimizationParametersRoot" } } } @@ -15535,16 +15425,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "description": "Optimization id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15584,11 +15469,6 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, @@ -15691,58 +15571,33 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ObjectRoot" + "response-type": "FPOOptimizationParametersRoot" } ] - } - }, - "/analytics/engines/fpo/v3/optimizations": { - "post": { + }, + "delete": { "tags": [ "FPO Optimizer" ], - "summary": "Create and Run FPO optimization", - "description": "This endpoint runs FPO optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", - "operationId": "postAndOptimize", + "summary": "Cancel FPO optimization by id", + "description": "This is the endpoint to cancel a previously submitted optimization.", + "operationId": "cancelOptimizationById", "parameters": [ { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" } } ], - "requestBody": { - "description": "Optimization Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FPOOptimizationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "204": { + "description": "Expected response, optimization was canceled successfully.", "headers": { - "Location": { - "description": "URL to poll for the resulting optimization", - "schema": { - "type": "string", - "description": "URL to poll for the resulting optimization" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -15775,17 +15630,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" - } - } } }, - "201": { - "description": "Expected response, returns json if optimization is completed in a short span.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15821,15 +15669,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid optimization parameters.", + "404": { + "description": "There was no request for the optimization identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15865,15 +15723,44 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, - "404": { - "description": "One or more optimization settings were unavailable.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15907,17 +15794,29 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -15934,10 +15833,99 @@ } } } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "204", + "response-type": null + } + ] + } + }, + "/analytics/engines/fpo/v3/optimizations/{id}/status": { + "get": { + "tags": [ + "FPO Optimizer" + ], + "summary": "Get FPO optimization status by id", + "description": "This is the endpoint to check on the progress of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.\r\nOtherwise, the optimization is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", + "operationId": "getOptimizationStatusById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" + } + } + ], + "responses": { + "201": { + "description": "Expected response once optimization is completed, returns JSON.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + } + } }, - "403": { - "description": "User is forbidden with current credentials", + "202": { + "description": "Expected response returned if the optimization is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -15972,8 +15960,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16007,10 +15995,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", + "404": { + "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16043,9 +16038,66 @@ "schema": { "type": "string" } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", "schema": { "type": "string" } @@ -16053,7 +16105,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -16093,72 +16145,68 @@ }, "x-are-multiple-success-responses-different": true, "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationInfoRoot" - }, { "status-code": "201", "response-type": "ObjectRoot" + }, + { + "status-code": "202", + "response-type": null } ] } }, - "/analytics/engines/fpo/v3/optimizations/{id}": { - "put": { + "/analytics/engines/fpo/v3/optimizations/{id}/result": { + "get": { "tags": [ "FPO Optimizer" ], - "summary": "Create or Update FPO optimization and run it.", - "description": "This endpoint updates and run the FPO optimization specified in the PUT body parameters. It also allows the creation of new FPO optimization with custom id.", - "operationId": "putAndOptimize", + "summary": "Get FPO optimization result by id", + "description": "This is the endpoint to get the result of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.", + "operationId": "getOptimizationResult", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", + "description": "from url, provided from the location header in the Get FPO optimization status by id endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" - } - }, - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" + "description": "from url, provided from the location header in the Get FPO optimization status by id endpoint" } }, { - "name": "Cache-Control", + "name": "Accept", "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "description": "Standard HTTP header. Value can be gzip, compress, deflate, br, identity and/or *", "schema": { "type": "string" } } ], - "requestBody": { - "description": "Optimization Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/FPOOptimizationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response once optimization is completed, returns JSON.", "headers": { - "Location": { - "description": "URL to poll for the resulting optimization", + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", "schema": { "type": "string", - "description": "URL to poll for the resulting optimization" + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." } }, "X-DataDirect-Request-Key": { @@ -16197,13 +16245,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "201": { - "description": "Expected response, returns json if optimization is completed in a short span.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16241,13 +16289,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid Optimization Parameters.", + "404": { + "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16290,8 +16338,27 @@ } } }, - "404": { - "description": "One or more optimization settings were unavailable.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16325,17 +16392,67 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "409": { - "description": "Duplicate optimization exists with same parameters.", + "503": { + "description": "Request timed out. Retry the request in sometime.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": "ObjectRoot" + } + ] + } + }, + "/analytics/engines/pa/v3/frequencies": { + "get": { + "tags": [ + "Frequencies" + ], + "summary": "Get PA frequencies", + "description": "This endpoint lists all the frequencies that can be applied to a PA calculation.", + "operationId": "getPAFrequencies", + "responses": { + "200": { + "description": "Expected response, returns a list of PA frequencies.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16373,7 +16490,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/FrequencyRoot" } } } @@ -16434,8 +16551,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16472,7 +16589,7 @@ } }, "429": { - "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", + "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.", @@ -16488,24 +16605,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -16553,62 +16652,27 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "202", - "response-type": "CalculationInfoRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" + "status-code": "200", + "response-type": "FrequencyRoot" } ] - }, + } + }, + "/analytics/engines/vault/v3/frequencies": { "get": { "tags": [ - "FPO Optimizer" - ], - "summary": "Get FPO optimization parameters by id", - "description": "This is the endpoint that returns the optimization parameters passed for an optimization.", - "operationId": "getOptimizationParameters", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" - } - } + "Frequencies" ], + "summary": "Get Vault frequencies", + "description": "This endpoint lists all the frequencies that can be applied to a Vault calculation.", + "operationId": "getVaultFrequencies", "responses": { "200": { - "description": "Expected response, returns the FPO optimization parameters.", + "description": "Expected response, returns a list of Vault frequencies.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -16645,13 +16709,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FPOOptimizationParametersRoot" + "$ref": "#/components/schemas/FrequencyRoot" } } } }, - "400": { - "description": "Invalid identifier provided.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16685,17 +16768,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Optimization id not found", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16729,36 +16805,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -16774,20 +16824,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -16795,7 +16833,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -16837,32 +16875,22 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "FPOOptimizationParametersRoot" + "response-type": "FrequencyRoot" } ] - }, - "delete": { + } + }, + "/analytics/engines/pa/v3/groups": { + "get": { "tags": [ - "FPO Optimizer" - ], - "summary": "Cancel FPO optimization by id", - "description": "This is the endpoint to cancel a previously submitted optimization.", - "operationId": "cancelOptimizationById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" - } - } + "Groups" ], + "summary": "Get PA groups", + "description": "This endpoint lists all the PA groups that can be applied to a PA calculation.", + "operationId": "getPAGroups", "responses": { - "204": { - "description": "Expected response, optimization was canceled successfully.", + "200": { + "description": "Expected response, returns a list of PA groups", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16878,6 +16906,13 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "Age": { + "description": "Standard HTTP header. Header will specify the age of groupings list cached response.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify the age of groupings list cached response." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -16896,10 +16931,36 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GroupRoot" + } + } } }, - "400": { - "description": "Invalid identifier provided.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16933,27 +16994,10 @@ "type": "string" } } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "There was no request for the optimization identifier provided, or the request was already canceled for the provided identifier.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -16987,46 +17031,10 @@ "type": "string" } } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -17042,20 +17050,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -17063,7 +17059,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -17104,35 +17100,23 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "204", - "response-type": null + "status-code": "200", + "response-type": "GroupRoot" } ] } }, - "/analytics/engines/fpo/v3/optimizations/{id}/status": { + "/analytics/engines/pa/v3/grouping-frequencies": { "get": { "tags": [ - "FPO Optimizer" - ], - "summary": "Get FPO optimization status by id", - "description": "This is the endpoint to check on the progress of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.\r\nOtherwise, the optimization is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", - "operationId": "getOptimizationStatusById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run FPO optimization endpoint" - } - } + "Groups" ], + "summary": "Get PA grouping frequencies", + "description": "This endpoint lists all the PA grouping frequencies that can be applied to a PA calculation.", + "operationId": "getPAGroupingFrequencies", "responses": { - "201": { - "description": "Expected response once optimization is completed, returns JSON.", + "200": { + "description": "Expected response, returns a list of PA grouping frequencies", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17170,28 +17154,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/FrequencyRoot" } } } }, - "202": { - "description": "Expected response returned if the optimization is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "401": { + "description": "Missing or invalid authentication.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -17205,29 +17175,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "400": { - "description": "Invalid identifier provided.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17261,17 +17213,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17305,36 +17250,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -17350,20 +17269,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -17409,72 +17316,38 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "201", - "response-type": "ObjectRoot" - }, - { - "status-code": "202", - "response-type": null + "status-code": "200", + "response-type": "FrequencyRoot" } ] } }, - "/analytics/engines/fpo/v3/optimizations/{id}/result": { - "get": { + "/analytics/engines/pa/v3/linked-templates": { + "post": { "tags": [ - "FPO Optimizer" + "LinkedPATemplates" ], - "summary": "Get FPO optimization result by id", - "description": "This is the endpoint to get the result of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.", - "operationId": "getOptimizationResult", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Get FPO optimization status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get FPO optimization status by id endpoint" + "summary": "Create a linked PA template", + "description": "This endpoint creates a template from an **existing portfolio analysis tile**, allowing the user to replicate and fetch reports settings.\r\n\r\nRemarks:\r\n\r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.", + "operationId": "createLinkedPATemplates", + "requestBody": { + "description": "Request Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LinkedPATemplateParametersRoot" + } } }, - { - "name": "Accept", - "in": "header", - "description": "Standard HTTP header. Value can be gzip, compress, deflate, br, identity and/or *", - "schema": { - "type": "string" - } - } - ], + "required": true + }, "responses": { - "200": { - "description": "Expected response once optimization is completed, returns JSON.", + "201": { + "description": "Expected response, created a template linked to a PA3 tile.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -17511,13 +17384,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/LinkedPATemplatePostSummaryRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17560,8 +17433,8 @@ } } }, - "404": { - "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17576,11 +17449,30 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "type": "string" + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" } }, "X-FactSet-Api-RateLimit-Remaining": { @@ -17595,17 +17487,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", + "404": { + "description": "Component not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17620,11 +17505,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17660,8 +17563,33 @@ } } }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -17702,23 +17630,51 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "200", - "response-type": "ObjectRoot" + "status-code": "201", + "response-type": "LinkedPATemplatePostSummaryRoot" } ] - } - }, - "/analytics/engines/pa/v3/frequencies": { + }, "get": { "tags": [ - "Frequencies" + "LinkedPATemplates" + ], + "summary": "Get linked PA templates", + "description": "This endpoint returns the list of linked PA templates in given path.", + "operationId": "getLinkedPATemplates", + "parameters": [ + { + "name": "directory", + "in": "query", + "description": "Get linked PA templates in path.", + "schema": { + "type": "string", + "description": "Get linked PA templates in path.", + "example": "Personal:LinkedPATemplates/" + } + }, + { + "name": "documentDirectory", + "in": "query", + "description": "Get linked PA templates for documents in document path", + "schema": { + "type": "string", + "description": "Get linked PA templates for documents in document path" + } + }, + { + "name": "documentName", + "in": "query", + "description": "Get linked PA templates for documents by document name", + "schema": { + "type": "string", + "description": "Get linked PA templates for documents by document name" + } + } ], - "summary": "Get PA frequencies", - "description": "This endpoint lists all the frequencies that can be applied to a PA calculation.", - "operationId": "getPAFrequencies", "responses": { "200": { - "description": "Expected response, returns a list of PA frequencies.", + "description": "Expected response, returns a list of templates linked to PA3 tile.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17756,7 +17712,95 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FrequencyRoot" + "$ref": "#/components/schemas/LinkedPATemplateSummaryRoot" + } + } + } + }, + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "404": { + "description": "Document not found", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -17922,22 +17966,46 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "FrequencyRoot" + "response-type": "LinkedPATemplateSummaryRoot" } ] } }, - "/analytics/engines/spar/v3/frequencies": { - "get": { + "/analytics/engines/pa/v3/linked-templates/{id}": { + "put": { "tags": [ - "Frequencies" + "LinkedPATemplates" + ], + "summary": "Update a linked PA template", + "description": "This endpoint allows the user to change the request body and description from an existing template.\r\n\r\nRemarks:\r\n\r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.", + "operationId": "updateLinkedPATemplates", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Unique identifier for a linked PA template", + "required": true, + "schema": { + "type": "string", + "description": "Unique identifier for a linked PA template", + "example": "01234567890123456789012345678901" + } + } ], - "summary": "Get SPAR frequencies", - "description": "This endpoint lists all the frequencies that can be applied to a SPAR calculation.", - "operationId": "getSPARFrequencies", + "requestBody": { + "description": "Request Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LinkedPATemplateUpdateParametersRoot" + } + } + }, + "required": true + }, "responses": { "200": { - "description": "Expected response, returns a list of SPAR frequencies.", + "description": "Expected response, updated a template linked to a PA3 tile.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -17975,7 +18043,95 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FrequencyRoot" + "$ref": "#/components/schemas/LinkedPATemplatePostSummaryRoot" + } + } + } + }, + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "404": { + "description": "Template or component not found.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -18141,22 +18297,70 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "FrequencyRoot" + "response-type": "LinkedPATemplatePostSummaryRoot" } ] - } - }, - "/analytics/engines/vault/v3/frequencies": { - "get": { + }, + "delete": { "tags": [ - "Frequencies" + "LinkedPATemplates" + ], + "summary": "Delete a linked PA template.", + "description": "This endpoint deletes an existing linked PA template.", + "operationId": "deleteLinkedPATemplates", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Unique identifier for a linked PA template", + "required": true, + "schema": { + "type": "string", + "description": "Unique identifier for a linked PA template", + "example": "01234567890123456789012345678901" + } + } ], - "summary": "Get Vault frequencies", - "description": "This endpoint lists all the frequencies that can be applied to a Vault calculation.", - "operationId": "getVaultFrequencies", "responses": { - "200": { - "description": "Expected response, returns a list of Vault frequencies.", + "204": { + "description": "Expected response, deleted the linked PA template successfully.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18192,9 +18396,73 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/FrequencyRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "404": { + "description": "Template not found.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -18359,23 +18627,34 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "200", - "response-type": "FrequencyRoot" + "status-code": "204", + "response-type": null } ] - } - }, - "/analytics/engines/pa/v3/groups": { + }, "get": { "tags": [ - "Groups" + "LinkedPATemplates" + ], + "summary": "Get linked PA template by id", + "description": "This endpoint fetches the linked PA template settings.", + "operationId": "getLinkedPATemplatesById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Unique identifier for a linked PA template", + "required": true, + "schema": { + "type": "string", + "description": "Unique identifier for a linked PA template", + "example": "01234567890123456789012345678901" + } + } ], - "summary": "Get PA groups", - "description": "This endpoint lists all the PA groups that can be applied to a PA calculation.", - "operationId": "getPAGroups", "responses": { "200": { - "description": "Expected response, returns a list of PA groups", + "description": "Expected response, linked PA template details.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18391,13 +18670,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Age": { - "description": "Standard HTTP header. Header will specify the age of groupings list cached response.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify the age of groupings list cached response." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -18420,32 +18692,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GroupRoot" + "$ref": "#/components/schemas/LinkedPATemplateRoot" } } } }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18479,129 +18732,17 @@ "type": "string" } } - } - }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "GroupRoot" - } - ] - } - }, - "/analytics/engines/pa/v3/grouping-frequencies": { - "get": { - "tags": [ - "Groups" - ], - "summary": "Get PA grouping frequencies", - "description": "This endpoint lists all the PA grouping frequencies that can be applied to a PA calculation.", - "operationId": "getPAGroupingFrequencies", - "responses": { - "200": { - "description": "Expected response, returns a list of PA grouping frequencies", + "404": { + "description": "Template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18639,7 +18780,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FrequencyRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } @@ -18763,7 +18904,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -18805,34 +18946,58 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "FrequencyRoot" + "response-type": "LinkedPATemplateRoot" } ] } }, - "/analytics/engines/pa/v3/linked-templates": { + "/analytics/engines/npo/v3/optimizations": { "post": { "tags": [ - "LinkedPATemplates" + "NPO Optimizer" + ], + "summary": "Create and Run NPO optimization", + "description": "This endpoint creates and runs NPO optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", + "operationId": "postAndOptimize", + "parameters": [ + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", + "schema": { + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" + } + } ], - "summary": "Create a linked PA template", - "description": "This endpoint creates a template from an **existing portfolio analysis tile**, allowing the user to replicate and fetch reports settings.\r\n\r\nRemarks:\r\n\r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.", - "operationId": "createLinkedPATemplates", "requestBody": { - "description": "Request Parameters", + "description": "Optimization Parameters", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LinkedPATemplateParametersRoot" + "$ref": "#/components/schemas/NPOOptimizationParametersRoot" } } - }, - "required": true + } }, "responses": { - "201": { - "description": "Expected response, created a template linked to a PA3 tile.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting optimization", + "schema": { + "type": "string", + "description": "URL to poll for the resulting optimization" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -18869,13 +19034,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LinkedPATemplatePostSummaryRoot" + "$ref": "#/components/schemas/CalculationInfoRoot" } } } }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "201": { + "description": "Expected response, returns json if optimization is completed in a short span.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18913,13 +19078,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "401": { - "description": "Missing or invalid authentication.", + "400": { + "description": "Invalid optimization parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18934,11 +19099,36 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "404": { + "description": "One or more optimization settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -18972,10 +19162,36 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "404": { - "description": "Component not found.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19011,8 +19227,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19049,7 +19265,7 @@ } }, "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19065,6 +19281,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -19112,54 +19346,76 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ + { + "status-code": "202", + "response-type": "CalculationInfoRoot" + }, { "status-code": "201", - "response-type": "LinkedPATemplatePostSummaryRoot" + "response-type": "ObjectRoot" } ] - }, - "get": { + } + }, + "/analytics/engines/npo/v3/optimizations/{id}": { + "put": { "tags": [ - "LinkedPATemplates" + "NPO Optimizer" ], - "summary": "Get linked PA templates", - "description": "This endpoint returns the list of linked PA templates in given path.", - "operationId": "getLinkedPATemplates", + "summary": "Create or Update NPO optimization and run it.", + "description": "This endpoint updates and run the NPO optimization specified in the PUT body parameters. It also allows the creation of new NPO optimization with custom id.", + "operationId": "putAndOptimize", "parameters": [ { - "name": "directory", - "in": "query", - "description": "Get linked PA templates in path.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", + "required": true, "schema": { "type": "string", - "description": "Get linked PA templates in path." + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" } }, { - "name": "documentDirectory", - "in": "query", - "description": "Get linked PA templates for documents in document path", + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds.", "schema": { - "type": "string", - "description": "Get linked PA templates for documents in document path" + "type": "integer" } }, { - "name": "documentName", - "in": "query", - "description": "Get linked PA templates for documents by document name", + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", "schema": { - "type": "string", - "description": "Get linked PA templates for documents by document name" + "type": "string" } } ], + "requestBody": { + "description": "Optimization Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NPOOptimizationParametersRoot" + } + } + } + }, "responses": { - "200": { - "description": "Expected response, returns a list of templates linked to PA3 tile.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting optimization", + "schema": { + "type": "string", + "description": "URL to poll for the resulting optimization" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -19196,13 +19452,57 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LinkedPATemplateSummaryRoot" + "$ref": "#/components/schemas/CalculationInfoRoot" + } + } + } + }, + "201": { + "description": "Expected response, returns json if optimization is completed in a short span.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" } } } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid Optimization Parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19246,7 +19546,51 @@ } }, "404": { - "description": "Document not found", + "description": "One or more optimization settings were unavailable.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "409": { + "description": "Duplicate optimization exists with same parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19345,8 +19689,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19383,7 +19727,7 @@ } }, "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19399,6 +19743,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -19446,50 +19808,62 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", - "response-type": "LinkedPATemplateSummaryRoot" + "status-code": "202", + "response-type": "CalculationInfoRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/pa/v3/linked-templates/{id}": { - "put": { + }, + "get": { "tags": [ - "LinkedPATemplates" + "NPO Optimizer" ], - "summary": "Update a linked PA template", - "description": "This endpoint allows the user to change the request body and description from an existing template.\r\n\r\nRemarks:\r\n\r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.", - "operationId": "updateLinkedPATemplates", + "summary": "Get NPO optimization parameters by id", + "description": "This is the endpoint that returns the optimization parameters passed for an optimization.", + "operationId": "getOptimizationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for a linked PA template", + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", "required": true, "schema": { "type": "string", - "description": "Unique identifier for a linked PA template" + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" } } ], - "requestBody": { - "description": "Request Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/LinkedPATemplateUpdateParametersRoot" - } - } - }, - "required": true - }, "responses": { "200": { - "description": "Expected response, updated a template linked to a PA3 tile.", + "description": "Expected response, returns the NPO optimization parameters.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -19526,13 +19900,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LinkedPATemplatePostSummaryRoot" + "$ref": "#/components/schemas/NPOOptimizationParametersRoot" } } } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19576,7 +19950,7 @@ } }, "404": { - "description": "Template or component not found.", + "description": "Optimization id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19675,70 +20049,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -19780,32 +20092,32 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "LinkedPATemplatePostSummaryRoot" + "response-type": "NPOOptimizationParametersRoot" } ] }, "delete": { "tags": [ - "LinkedPATemplates" + "NPO Optimizer" ], - "summary": "Delete a linked PA template.", - "description": "This endpoint deletes an existing linked PA template.", - "operationId": "deleteLinkedPATemplates", + "summary": "Cancel NPO optimization by id", + "description": "This is the endpoint to cancel a previously submitted optimization.", + "operationId": "cancelOptimizationById", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for a linked PA template", + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", "required": true, "schema": { "type": "string", - "description": "Unique identifier for a linked PA template" + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" } } ], "responses": { "204": { - "description": "Expected response, deleted the linked PA template successfully.", + "description": "Expected response, optimization was canceled successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19842,7 +20154,7 @@ } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -19896,7 +20208,7 @@ } }, "404": { - "description": "Template not found.", + "description": "There was no request for the optimization identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20005,68 +20317,6 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", "headers": { @@ -20113,29 +20363,31 @@ "response-type": null } ] - }, + } + }, + "/analytics/engines/npo/v3/optimizations/{id}/status": { "get": { "tags": [ - "LinkedPATemplates" + "NPO Optimizer" ], - "summary": "Get linked PA template by id", - "description": "This endpoint fetches the linked PA template settings.", - "operationId": "getLinkedPATemplatesById", + "summary": "Get NPO optimization status by id", + "description": "This is the endpoint to check on the progress of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.\r\nOtherwise, the optimization is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", + "operationId": "getOptimizationStatusById", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for a linked PA template", + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", "required": true, "schema": { "type": "string", - "description": "Unique identifier for a linked PA template" + "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" } } ], "responses": { - "200": { - "description": "Expected response, linked PA template details.", + "201": { + "description": "Expected response once optimization is completed, returns JSON.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20173,14 +20425,28 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LinkedPATemplateRoot" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "202": { + "description": "Expected response returned if the optimization is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -20213,17 +20479,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Template not found.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20266,27 +20525,8 @@ } } }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", + "404": { + "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20320,10 +20560,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20338,29 +20585,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20376,8 +20605,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", "schema": { "type": "string" } @@ -20385,7 +20626,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -20423,106 +20664,64 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", - "response-type": "LinkedPATemplateRoot" + "status-code": "201", + "response-type": "ObjectRoot" + }, + { + "status-code": "202", + "response-type": null } ] } }, - "/analytics/engines/npo/v3/optimizations": { - "post": { + "/analytics/engines/npo/v3/optimizations/{id}/result": { + "get": { "tags": [ "NPO Optimizer" ], - "summary": "Create and Run NPO optimization", - "description": "This endpoint creates and runs NPO optimization specified in the POST body parameters.\r\n \r\nRemarks:\r\n \r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the strategy document.", - "operationId": "postAndOptimize", + "summary": "Get NPO optimization result by id", + "description": "This is the endpoint to get the result of a previously requested optimization.", + "operationId": "getOptimizationResult", "parameters": [ { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Get NPO optimization status by id endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Get NPO optimization status by id endpoint" } } ], - "requestBody": { - "description": "Optimization Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NPOOptimizationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response once optimization is completed, returns JSON.", "headers": { - "Location": { - "description": "URL to poll for the resulting optimization", + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", "schema": { "type": "string", - "description": "URL to poll for the resulting optimization" + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." } }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + "Content-Type": { + "description": "Standard HTTP header.", "schema": { "type": "string", - "description": "FactSet's request key header." + "description": "Standard HTTP header." } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", "schema": { "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." } }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" - } - } - } - }, - "201": { - "description": "Expected response, returns json if optimization is completed in a short span.", - "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -20565,7 +20764,7 @@ } }, "400": { - "description": "Invalid optimization parameters.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20609,7 +20808,7 @@ } }, "404": { - "description": "One or more optimization settings were unavailable.", + "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20708,88 +20907,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -20827,42 +20946,28 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "202", - "response-type": "CalculationInfoRoot" - }, - { - "status-code": "201", + "status-code": "200", "response-type": "ObjectRoot" } ] } }, - "/analytics/engines/npo/v3/optimizations/{id}": { - "put": { + "/analytics/engines/pa/v3/calculations": { + "post": { "tags": [ - "NPO Optimizer" + "PACalculations" ], - "summary": "Create or Update NPO optimization and run it.", - "description": "This endpoint updates and run the NPO optimization specified in the PUT body parameters. It also allows the creation of new NPO optimization with custom id.", - "operationId": "putAndOptimize", + "summary": "Create and Run PA calculation", + "description": "This endpoint runs the PA calculation specified in the POST body parameters.\r\nIt can take one or more calculation units as input.\r\n\r\nRemarks:\r\n\r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", + "operationId": "postAndCalculate", "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" - } - }, { "name": "X-FactSet-Api-Long-Running-Deadline", "in": "header", - "description": "Long running deadline in seconds.", + "description": "Long running deadline in seconds when only one unit is passed in the POST body.", "schema": { "type": "integer" } @@ -20877,11 +20982,11 @@ } ], "requestBody": { - "description": "Optimization Parameters", + "description": "Calculation Parameters", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NPOOptimizationParametersRoot" + "$ref": "#/components/schemas/PACalculationParametersRoot" } } } @@ -20891,10 +20996,10 @@ "description": "Expected response, contains the poll URL in the Location header.", "headers": { "Location": { - "description": "URL to poll for the resulting optimization", + "description": "URL to poll for the resulting calculation", "schema": { "type": "string", - "description": "URL to poll for the resulting optimization" + "description": "URL to poll for the resulting calculation" } }, "X-DataDirect-Request-Key": { @@ -20933,13 +21038,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationInfoRoot" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, "201": { - "description": "Expected response, returns json if optimization is completed in a short span.", + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -20979,11 +21089,16 @@ "schema": { "$ref": "#/components/schemas/ObjectRoot" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } } } }, - "400": { - "description": "Invalid Optimization Parameters.", + "200": { + "description": "Expected response, if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21021,13 +21136,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "404": { - "description": "One or more optimization settings were unavailable.", + "400": { + "description": "Invalid calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21067,11 +21187,16 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, - "409": { - "description": "Duplicate optimization exists with same parameters.", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21111,6 +21236,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, @@ -21208,7 +21338,7 @@ } }, "429": { - "description": "Rate limit reached. Cancel older requests using Cancel optimization endpoint or wait for older requests to finish/expire.", + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21293,58 +21423,41 @@ "x-success-response-types": [ { "status-code": "202", - "response-type": "CalculationInfoRoot" + "response-type": "CalculationStatusRoot" }, { "status-code": "201", "response-type": "ObjectRoot" + }, + { + "status-code": "200", + "response-type": "CalculationStatusRoot" } ] }, "get": { "tags": [ - "NPO Optimizer" + "PACalculations" ], - "summary": "Get NPO optimization parameters by id", - "description": "This is the endpoint that returns the optimization parameters passed for an optimization.", - "operationId": "getOptimizationParameters", + "summary": "Get all calculations", + "description": "This endpoints returns all calculation requests.", + "operationId": "getAllCalculations", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", + "name": "pageNumber", + "in": "query", "required": true, "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" + "type": "integer", + "format": "int32", + "default": 1 } } ], "responses": { "200": { - "description": "Expected response, returns the NPO optimization parameters.", + "description": "List of calculation requests.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -21381,13 +21494,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NPOOptimizationParametersRoot" + "$ref": "#/components/schemas/CalculationsSummaryRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid page number.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21431,7 +21544,7 @@ } }, "404": { - "description": "Optimization id not found", + "description": "No calculation found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21494,7 +21607,7 @@ } }, "403": { - "description": "User is forbidden with current credentials", + "description": "User is forbidden with current credentials.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21530,8 +21643,70 @@ } } }, + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -21573,33 +21748,68 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "NPOOptimizationParametersRoot" + "response-type": "CalculationsSummaryRoot" } ] - }, - "delete": { + } + }, + "/analytics/engines/pa/v3/calculations/{id}": { + "put": { "tags": [ - "NPO Optimizer" + "PACalculations" ], - "summary": "Cancel NPO optimization by id", - "description": "This is the endpoint to cancel a previously submitted optimization.", - "operationId": "cancelOptimizationById", + "summary": "Create or Update PA calculation and run it.", + "description": "This endpoint updates and run the PA calculation specified in the PUT body parameters. This also allows creating new PA calculations with custom ids.\r\nIt can take one or more calculation units as input.\r\n\r\nRemarks:\r\n\r\n*\tAny settings in PUT body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", + "operationId": "putAndCalculate", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" + } + }, + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", + "schema": { + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PACalculationParametersRoot" + } + } + } + }, "responses": { - "204": { - "description": "Expected response, optimization was canceled successfully.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting calculation", + "schema": { + "type": "string", + "description": "URL to poll for the resulting calculation" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -21632,10 +21842,22 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } } }, - "400": { - "description": "Invalid identifier provided.", + "200": { + "description": "Expected response, if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21671,25 +21893,69 @@ } }, "content": { - "text/plain": { + "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } + } + }, + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" } }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } }, - "text/json": { + "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "404": { - "description": "There was no request for the optimization identifier provided, or the request was already canceled for the provided identifier.", + "400": { + "description": "Invalid Calculation Parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21725,44 +21991,20 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } }, - "text/json": { + "application/x-protobuf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21796,79 +22038,22 @@ "type": "string" } } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "204", - "response-type": null - } - ] - } - }, - "/analytics/engines/npo/v3/optimizations/{id}/status": { - "get": { - "tags": [ - "NPO Optimizer" - ], - "summary": "Get NPO optimization status by id", - "description": "This is the endpoint to check on the progress of a previously requested optimization.\r\nIf the optimization has finished computing, the body of the response will contain result in JSON.\r\nOtherwise, the optimization is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", - "operationId": "getOptimizationStatusById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run NPO optimization endpoint" - } - } - ], - "responses": { - "201": { - "description": "Expected response once optimization is completed, returns JSON.", + "409": { + "description": "Duplicate calculation exists with same parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21906,28 +22091,19 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "202": { - "description": "Expected response returned if the optimization is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "401": { + "description": "Missing or invalid authentication.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -21941,29 +22117,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "400": { - "description": "Invalid identifier provided.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -21997,17 +22155,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22041,36 +22192,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22103,11 +22228,17 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -22148,39 +22279,41 @@ "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "201", - "response-type": "ObjectRoot" + "status-code": "202", + "response-type": "CalculationStatusRoot" }, { - "status-code": "202", - "response-type": null + "status-code": "200", + "response-type": "CalculationStatusRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/npo/v3/optimizations/{id}/result": { + }, "get": { "tags": [ - "NPO Optimizer" + "PACalculations" ], - "summary": "Get NPO optimization result by id", - "description": "This is the endpoint to get the result of a previously requested optimization.", - "operationId": "getOptimizationResult", + "summary": "Get PA calculation parameters by id", + "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", + "operationId": "getCalculationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Get NPO optimization status by id endpoint", + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get NPO optimization status by id endpoint" + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" } } ], "responses": { "200": { - "description": "Expected response once optimization is completed, returns JSON.", + "description": "Expected response, returns the PA calculation parameters.", "headers": { "Content-Encoding": { "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", @@ -22239,7 +22372,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/PACalculationParametersRoot" } } } @@ -22289,7 +22422,7 @@ } }, "404": { - "description": "Optimization result was already returned, provided id was not a requested optimization, or the optimization was cancelled", + "description": "Calculation id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22431,58 +22564,33 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ObjectRoot" + "response-type": "PACalculationParametersRoot" } ] - } - }, - "/analytics/engines/pa/v3/calculations": { - "post": { + }, + "delete": { "tags": [ "PACalculations" ], - "summary": "Create and Run PA calculation", - "description": "This endpoint runs the PA calculation specified in the POST body parameters.\r\nIt can take one or more calculation units as input.\r\n\r\nRemarks:\r\n\r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", - "operationId": "postAndCalculate", + "summary": "Cancel PA calculation by id", + "description": "This is the endpoint to cancel a previously submitted calculation.", + "operationId": "cancelCalculationById", "parameters": [ { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the POST body.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PACalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "204": { + "description": "Expected response, calculation was canceled successfully.", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -22515,22 +22623,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22566,20 +22662,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", + "404": { + "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22615,20 +22716,44 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid calculation parameters.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22662,23 +22787,101 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "503": { + "description": "Request timed out. Retry the request in sometime.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "204", + "response-type": null + } + ] + } + }, + "/analytics/engines/pa/v3/calculations/{id}/status": { + "get": { + "tags": [ + "PACalculations" + ], + "summary": "Get PA calculation status by id", + "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.\r\nOtherwise, the calculation is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", + "operationId": "getCalculationStatusById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" + } + } + ], + "responses": { + "200": { + "description": "Expected response once calculation is completed.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -22715,19 +22918,28 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "401": { - "description": "Missing or invalid authentication.", + "202": { + "description": "Expected response returned if the calculation is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -22741,11 +22953,36 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22779,10 +23016,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22816,10 +23060,36 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -22852,17 +23122,11 @@ "schema": { "type": "string" } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -22900,45 +23164,74 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "202", + "status-code": "200", "response-type": "CalculationStatusRoot" }, { - "status-code": "201", - "response-type": "ObjectRoot" - }, - { - "status-code": "200", + "status-code": "202", "response-type": "CalculationStatusRoot" } ] - }, + } + }, + "/analytics/engines/pa/v3/calculations/{id}/units/{unitId}/result": { "get": { "tags": [ "PACalculations" ], - "summary": "Get all calculations", - "description": "This endpoints returns all calculation requests.", - "operationId": "getAllCalculations", + "summary": "Get PA calculation result by id", + "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", + "operationId": "getCalculationUnitResultById", "parameters": [ { - "name": "pageNumber", - "in": "query", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Get PA calculation status by id endpoint", "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 1 + "type": "string", + "description": "from url, provided from the location header in the Get PA calculation status by id endpoint" + } + }, + { + "name": "unitId", + "in": "path", + "description": "from url, provided from the location header in the Get PA calculation status by id endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Get PA calculation status by id endpoint" } } ], "responses": { "200": { - "description": "List of calculation requests.", + "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -22975,13 +23268,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationsSummaryRoot" + "$ref": "#/components/schemas/ObjectRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" } } } }, "400": { - "description": "Invalid page number.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23021,11 +23319,16 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, "404": { - "description": "No calculation found.", + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23065,30 +23368,16 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "403": { - "description": "User is forbidden with current credentials.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23103,29 +23392,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23161,33 +23432,8 @@ } } }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -23229,68 +23475,55 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CalculationsSummaryRoot" + "response-type": "ObjectRoot" } ] } }, - "/analytics/engines/pa/v3/calculations/{id}": { - "put": { + "/analytics/engines/pa/v3/pricing-sources": { + "get": { "tags": [ - "PACalculations" + "PricingSources" ], - "summary": "Create or Update PA calculation and run it.", - "description": "This endpoint updates and run the PA calculation specified in the PUT body parameters. This also allows creating new PA calculations with custom ids.\r\nIt can take one or more calculation units as input.\r\n\r\nRemarks:\r\n\r\n*\tAny settings in PUT body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", - "operationId": "putAndCalculate", + "summary": "Get PA pricing sources", + "description": "This endpoint lists all the PA pricing sources that can be applied to a PA calculation.", + "operationId": "getPAPricingSources", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", - "required": true, + "name": "name", + "in": "query", + "description": "PA pricing sources name", "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" + "description": "PA pricing sources name", + "default": "" } }, { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", + "name": "category", + "in": "query", + "description": "PA pricing sources category", "schema": { - "type": "integer" + "type": "string", + "description": "PA pricing sources category", + "default": "" } }, { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "directory", + "in": "query", + "description": "The directory to get the PA pricing sources in", "schema": { - "type": "string" + "type": "string", + "description": "The directory to get the PA pricing sources in", + "default": "" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PACalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response, returns a list of PA pricing sources", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -23305,6 +23538,13 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "Age": { + "description": "Standard HTTP header. Header will specify the age of pricing sources list cached response.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify the age of pricing sources list cached response." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -23327,18 +23567,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/PAPricingSourceRoot" } } } }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23376,18 +23611,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "404": { + "description": "Pricing sources not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23425,18 +23655,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" + } + } + }, + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "400": { - "description": "Invalid Calculation Parameters.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23470,22 +23714,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23519,22 +23751,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "409": { - "description": "Duplicate calculation exists with same parameters.", + "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.", @@ -23550,40 +23770,35 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23600,10 +23815,64 @@ } } } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": "PAPricingSourceRoot" + } + ] + } + }, + "/analytics/engines/pub/v3/calculations": { + "post": { + "tags": [ + "PubCalculations" + ], + "summary": "Create and Run Pub calculation", + "description": "This endpoint runs the Pub calculation specified in the POST body parameters.\r\nIt can take one or more units as input.", + "operationId": "postAndCalculate", + "parameters": [ + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds when only one unit is passed in the POST body.", + "schema": { + "type": "integer" + } }, - "403": { - "description": "User is forbidden with current credentials", + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PubCalculationParametersRoot" + } + } + } + }, + "responses": { + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting calculation", + "schema": { + "type": "string", + "description": "URL to poll for the resulting calculation" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -23636,10 +23905,22 @@ "type": "string" } } + }, + "content": { + "application/pdf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "200": { + "description": "Expected response, if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23673,10 +23954,22 @@ "type": "string" } } + }, + "content": { + "application/pdf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23709,114 +24002,26 @@ "schema": { "type": "string" } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "content": { + "application/pdf": { "schema": { "type": "string", - "description": "FactSet's request key header." + "format": "binary" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { "schema": { "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "format": "binary" } } } - } - }, - "x-are-multiple-success-responses-different": true, - "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" }, - { - "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" - } - ] - }, - "get": { - "tags": [ - "PACalculations" - ], - "summary": "Get PA calculation parameters by id", - "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", - "operationId": "getCalculationParameters", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns the PA calculation parameters.", + "400": { + "description": "Invalid calculation parameters.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -23851,15 +24056,20 @@ } }, "content": { - "application/json": { + "application/pdf": { "schema": { - "$ref": "#/components/schemas/PACalculationParametersRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23895,15 +24105,39 @@ } }, "content": { - "application/json": { + "application/pdf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "404": { - "description": "Calculation id not found", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23937,17 +24171,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23962,11 +24189,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -23999,11 +24244,17 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -24041,36 +24292,45 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ + { + "status-code": "202", + "response-type": "CalculationStatusRoot" + }, { "status-code": "200", - "response-type": "PACalculationParametersRoot" + "response-type": "CalculationStatusRoot" + }, + { + "status-code": "201", + "response-type": null, + "is-file": true } ] }, - "delete": { + "get": { "tags": [ - "PACalculations" + "PubCalculations" ], - "summary": "Cancel PA calculation by id", - "description": "This is the endpoint to cancel a previously submitted calculation.", - "operationId": "cancelCalculationById", + "summary": "Get all calculations", + "description": "This endpoints returns all calculation requests.", + "operationId": "getAllCalculations", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", + "name": "pageNumber", + "in": "query", "required": true, "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" + "type": "integer", + "format": "int32", + "default": 1 } } ], "responses": { - "204": { - "description": "Expected response, calculation was canceled successfully.", + "200": { + "description": "List of calculation requests.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24104,10 +24364,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationsSummaryRoot" + } + } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid page number.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24143,25 +24410,15 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", + "description": "No calculation found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24197,25 +24454,34 @@ } }, "content": { - "text/plain": { + "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/json": { + } + } + }, + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "text/json": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "403": { + "description": "User is forbidden with current credentials.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24230,11 +24496,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24270,6 +24554,31 @@ } } }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", "headers": { @@ -24312,57 +24621,127 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "204", - "response-type": null + "status-code": "200", + "response-type": "CalculationsSummaryRoot" } ] } }, - "/analytics/engines/pa/v3/calculations/{id}/status": { - "get": { + "/analytics/engines/pub/v3/calculations/{id}": { + "put": { "tags": [ - "PACalculations" + "PubCalculations" ], - "summary": "Get PA calculation status by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.\r\nOtherwise, the calculation is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", - "operationId": "getCalculationStatusById", + "summary": "Create or Update Pub calculation and run it.", + "description": "This endpoint updates and run the Pub calculation specified in the PUT body parameters. This also allows creating new Pub calculations with custom ids.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n* Start and and end date must be within the configuration's min and max date range", + "operationId": "putAndCalculate", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint", + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run PA calculation endpoint" + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" + } + }, + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", + "schema": { + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PubCalculationParametersRoot" + } + } + } + }, "responses": { - "200": { - "description": "Expected response once calculation is completed.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "Location": { + "description": "URL to poll for the resulting calculation", "schema": { "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + "description": "URL to poll for the resulting calculation" } }, - "Content-Type": { - "description": "Standard HTTP header.", + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "Standard HTTP header." + "description": "FactSet's request key header." } }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." } }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/pdf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } + } + }, + "200": { + "description": "Expected response, if the calculation has one unit and is completed with an error.", + "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -24377,6 +24756,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -24397,30 +24790,75 @@ } }, "content": { - "application/json": { + "application/pdf": { "schema": { "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "202": { - "description": "Expected response returned if the calculation is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", - "description": "FactSet's progress header." + "description": "FactSet's request key header." } }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" } }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/pdf": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Invalid Calculation Parameters.", + "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -24435,6 +24873,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -24455,15 +24907,15 @@ } }, "content": { - "application/json": { + "application/pdf": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24479,6 +24931,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -24499,15 +24965,15 @@ } }, "content": { - "application/json": { + "application/pdf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "409": { + "description": "Duplicate calculation exists with same parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24523,6 +24989,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -24543,7 +25023,7 @@ } }, "content": { - "application/json": { + "application/pdf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -24566,6 +25046,20 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } } } }, @@ -24586,6 +25080,122 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } + }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -24603,11 +25213,17 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -24622,6 +25238,20 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } } } }, @@ -24641,56 +25271,63 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-Calculations-Limit": { + "description": "Maximum FI request limit.", + "schema": { + "type": "string", + "description": "Maximum FI request limit." + } + }, + "X-FactSet-Api-Calculations-Remaining": { + "description": "Number of FI requests remaining till request limit reached.", + "schema": { + "type": "string", + "description": "Number of FI requests remaining till request limit reached." + } } } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", + "status-code": "202", "response-type": "CalculationStatusRoot" }, { - "status-code": "202", + "status-code": "200", "response-type": "CalculationStatusRoot" + }, + { + "status-code": "201", + "response-type": null, + "is-file": true } ] - } - }, - "/analytics/engines/pa/v3/calculations/{id}/units/{unitId}/result": { + }, "get": { "tags": [ - "PACalculations" + "PubCalculations" ], - "summary": "Get PA calculation result by id", - "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", - "operationId": "getCalculationUnitResultById", + "summary": "Get Pub calculation parameters by id", + "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", + "operationId": "getCalculationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Get PA calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get PA calculation status by id endpoint" - } - }, - { - "name": "unitId", - "in": "path", - "description": "from url, provided from the location header in the Get PA calculation status by id endpoint", + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get PA calculation status by id endpoint" + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", + "description": "Expected response, returns the Pub calculation parameters.", "headers": { "Content-Encoding": { "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", @@ -24749,12 +25386,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/PubCalculationParametersRoot" } } } @@ -24800,16 +25432,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "description": "Calculation id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -24849,11 +25476,6 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, @@ -24956,54 +25578,32 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "ObjectRoot" + "response-type": "PubCalculationParametersRoot" } ] - } - }, - "/analytics/engines/pa/v3/pricing-sources": { - "get": { + }, + "delete": { "tags": [ - "PricingSources" + "PubCalculations" ], - "summary": "Get PA pricing sources", - "description": "This endpoint lists all the PA pricing sources that can be applied to a PA calculation.", - "operationId": "getPAPricingSources", + "summary": "Cancel Pub calculation by id", + "description": "This is the endpoint to cancel a previously submitted calculation.", + "operationId": "cancelCalculationById", "parameters": [ { - "name": "name", - "in": "query", - "description": "PA pricing sources name", - "schema": { - "type": "string", - "description": "PA pricing sources name", - "default": "" - } - }, - { - "name": "category", - "in": "query", - "description": "PA pricing sources category", - "schema": { - "type": "string", - "description": "PA pricing sources category", - "default": "" - } - }, - { - "name": "directory", - "in": "query", - "description": "The directory to get the PA pricing sources in", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", + "required": true, "schema": { "type": "string", - "description": "The directory to get the PA pricing sources in", - "default": "" + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" } } ], "responses": { - "200": { - "description": "Expected response, returns a list of PA pricing sources", + "204": { + "description": "Expected response, calculation was canceled successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25019,13 +25619,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Age": { - "description": "Standard HTTP header. Header will specify the age of pricing sources list cached response.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify the age of pricing sources list cached response." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -25044,17 +25637,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PAPricingSourceRoot" - } - } } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25090,15 +25676,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, "404": { - "description": "Pricing sources not found.", + "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25134,34 +25730,25 @@ } }, "content": { - "application/json": { + "text/plain": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "application/json": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "text/json": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "403": { - "description": "User is forbidden with current credentials", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25176,29 +25763,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25234,33 +25803,8 @@ } } }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -25301,108 +25845,57 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "200", - "response-type": "PAPricingSourceRoot" + "status-code": "204", + "response-type": null } ] } }, - "/analytics/engines/pub/v3/calculations": { - "post": { + "/analytics/engines/pub/v3/calculations/{id}/status": { + "get": { "tags": [ "PubCalculations" ], - "summary": "Create and Run Pub calculation", - "description": "This endpoint runs the Pub calculation specified in the POST body parameters.\r\nIt can take one or more units as input.", - "operationId": "postAndCalculate", + "summary": "Get Pub calculation status by id", + "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.", + "operationId": "getCalculationStatusById", "parameters": [ { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the POST body.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PubCalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response once calculation is completed.", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", "schema": { "type": "string", - "description": "URL to poll for the resulting calculation" + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." } }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + "Content-Type": { + "description": "Standard HTTP header.", "schema": { "type": "string", - "description": "FactSet's request key header." + "description": "Standard HTTP header." } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", "schema": { "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/pdf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." } }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } - } - }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", - "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -25437,21 +25930,30 @@ } }, "content": { - "application/pdf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "application/json": { "schema": { "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "202": { + "description": "Expected response returned if the calculation is not yet completed.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -25486,22 +25988,15 @@ } }, "content": { - "application/pdf": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "application/json": { "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, "400": { - "description": "Invalid calculation parameters.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25537,12 +26032,7 @@ } }, "content": { - "application/pdf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -25550,7 +26040,7 @@ } }, "404": { - "description": "One or more calculation settings were unavailable.", + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25586,12 +26076,7 @@ } }, "content": { - "application/pdf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -25654,88 +26139,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -25773,46 +26178,74 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - }, { "status-code": "200", "response-type": "CalculationStatusRoot" }, { - "status-code": "201", - "response-type": null, - "is-file": true + "status-code": "202", + "response-type": "CalculationStatusRoot" } ] - }, + } + }, + "/analytics/engines/pub/v3/calculations/{id}/units/{unitId}/result": { "get": { "tags": [ "PubCalculations" ], - "summary": "Get all calculations", - "description": "This endpoints returns all calculation requests.", - "operationId": "getAllCalculations", + "summary": "Get Pub calculation result by id", + "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in the specified format.", + "operationId": "getCalculationUnitResultById", "parameters": [ { - "name": "pageNumber", - "in": "query", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint", "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 1 + "type": "string", + "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint" + } + }, + { + "name": "unitId", + "in": "path", + "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint" } } ], "responses": { "200": { - "description": "List of calculation requests.", + "description": "Expected response once calculation is completed, returns result in the format specified in the Calculation parameters.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -25849,13 +26282,26 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationsSummaryRoot" + "type": "string", + "format": "binary" + } + }, + "application/x-protobuf": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "application/pdf": { + "schema": { + "type": "string", + "format": "binary" } } } }, "400": { - "description": "Invalid page number.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25895,11 +26341,21 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/pdf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, "404": { - "description": "No calculation found.", + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25939,30 +26395,21 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "application/x-protobuf": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/pdf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "403": { - "description": "User is forbidden with current credentials.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -25977,29 +26424,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26035,33 +26464,8 @@ } } }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -26103,53 +26507,36 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CalculationsSummaryRoot" + "response-type": null, + "is-file": true } ] } }, - "/analytics/engines/pub/v3/calculations/{id}": { - "put": { + "/analytics/engines/quant/v3/calculations": { + "post": { "tags": [ - "PubCalculations" + "QuantCalculations" ], - "summary": "Create or Update Pub calculation and run it.", - "description": "This endpoint updates and run the Pub calculation specified in the PUT body parameters. This also allows creating new Pub calculations with custom ids.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n* Start and and end date must be within the configuration's min and max date range", - "operationId": "putAndCalculate", + "summary": "Create and Run Quant Engine calculation", + "description": "This endpoint runs the Quant Engine calculation specified in the POST body parameters.\r\nIt can take one or more calculation units as input.", + "operationId": "postAndCalculate", "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" - } - }, - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", - "schema": { - "type": "integer" - } - }, { "name": "Cache-Control", "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "description": "Standard HTTP header. Accepts no-store, max-age, max-stale.", "schema": { "type": "string" } } ], "requestBody": { - "description": "Calculation Parameters", + "description": "", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PubCalculationParametersRoot" + "$ref": "#/components/schemas/QuantCalculationParametersRoot" } } } @@ -26179,20 +26566,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26213,15 +26586,20 @@ } }, "content": { - "application/pdf": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { "schema": { "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26237,20 +26615,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26271,15 +26635,20 @@ } }, "content": { - "application/pdf": { + "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ObjectRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "200": { + "description": "Expected response if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26295,20 +26664,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26329,16 +26684,20 @@ } }, "content": { - "application/pdf": { + "application/json": { "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, "400": { - "description": "Invalid Calculation Parameters.", + "description": "Invalid calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26354,20 +26713,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26388,7 +26733,12 @@ } }, "content": { - "application/pdf": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -26412,20 +26762,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26446,15 +26782,20 @@ } }, "content": { - "application/pdf": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "409": { - "description": "Duplicate calculation exists with same parameters.", + "413": { + "description": "Request body too large", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26470,20 +26811,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26504,7 +26831,12 @@ } }, "content": { - "application/pdf": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -26527,20 +26859,6 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } } } }, @@ -26561,20 +26879,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26612,20 +26916,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26663,20 +26953,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } - }, "X-FactSet-Api-RateLimit-Limit": { "description": "Number of allowed requests for the time window.", "schema": { @@ -26719,20 +26995,6 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } } } }, @@ -26752,20 +27014,6 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-Calculations-Limit": { - "description": "Maximum FI request limit.", - "schema": { - "type": "string", - "description": "Maximum FI request limit." - } - }, - "X-FactSet-Api-Calculations-Remaining": { - "description": "Number of FI requests remaining till request limit reached.", - "schema": { - "type": "string", - "description": "Number of FI requests remaining till request limit reached." - } } } } @@ -26777,60 +27025,38 @@ "response-type": "CalculationStatusRoot" }, { - "status-code": "200", - "response-type": "CalculationStatusRoot" + "status-code": "201", + "response-type": "ObjectRoot" }, { - "status-code": "201", - "response-type": null, - "is-file": true + "status-code": "200", + "response-type": "CalculationStatusRoot" } ] }, "get": { "tags": [ - "PubCalculations" + "QuantCalculations" ], - "summary": "Get Pub calculation parameters by id", - "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", - "operationId": "getCalculationParameters", + "summary": "Get all calculations", + "description": "This endpoints returns all calculation requests.", + "operationId": "getAllCalculations", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", + "name": "pageNumber", + "in": "query", "required": true, "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" + "type": "integer", + "format": "int32", + "default": 1 } } ], "responses": { "200": { - "description": "Expected response, returns the Pub calculation parameters.", + "description": "List of calculation requests.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -26867,13 +27093,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PubCalculationParametersRoot" + "$ref": "#/components/schemas/CalculationsSummaryRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid page number.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26917,7 +27143,7 @@ } }, "404": { - "description": "Calculation id not found", + "description": "No calculation found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -26980,7 +27206,7 @@ } }, "403": { - "description": "User is forbidden with current credentials", + "description": "User is forbidden with current credentials.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27016,8 +27242,70 @@ } } }, + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -27059,33 +27347,60 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "PubCalculationParametersRoot" + "response-type": "CalculationsSummaryRoot" } ] - }, - "delete": { + } + }, + "/analytics/engines/quant/v3/calculations/{id}": { + "put": { "tags": [ - "PubCalculations" + "QuantCalculations" ], - "summary": "Cancel Pub calculation by id", - "description": "This is the endpoint to cancel a previously submitted calculation.", - "operationId": "cancelCalculationById", + "summary": "Create or update Quant Engine calculation and run it.", + "description": "This endpoint updates and runs the Quant Engine calculation specified in the PUT body parameters. This also allows creating new Quant Engine calculations with custom ids.\r\nIt can take one or more calculation units as input.", + "operationId": "putAndCalculate", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", + "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" + "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts no-store, max-age, max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QuantCalculationParametersRoot" + } + } + } + }, "responses": { - "204": { - "description": "Expected response, calculation was canceled successfully.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting calculation", + "schema": { + "type": "string", + "description": "URL to poll for the resulting calculation" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -27118,10 +27433,22 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } } }, - "400": { - "description": "Invalid identifier provided.", + "200": { + "description": "Expected response if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27157,25 +27484,20 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" } }, - "text/json": { + "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "404": { - "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27211,44 +27533,20 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ObjectRoot" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "403": { - "description": "User is forbidden with current credentials", + "400": { + "description": "Invalid Calculation Parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27282,101 +27580,23 @@ "type": "string" } } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "204", - "response-type": null - } - ] - } - }, - "/analytics/engines/pub/v3/calculations/{id}/status": { - "get": { - "tags": [ - "PubCalculations" - ], - "summary": "Get Pub calculation status by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.", - "operationId": "getCalculationStatusById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Pub calculation endpoint" - } - } - ], - "responses": { - "200": { - "description": "Expected response once calculation is completed.", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -27413,28 +27633,19 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "202": { - "description": "Expected response returned if the calculation is not yet completed.", + "409": { + "description": "Duplicate calculation exists with same parameters.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -27471,13 +27682,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "413": { + "description": "Request body too large", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27517,11 +27733,35 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27555,17 +27795,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27580,11 +27813,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "429": { + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27617,11 +27868,17 @@ "schema": { "type": "string" } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -27659,52 +27916,44 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ { - "status-code": "200", + "status-code": "202", "response-type": "CalculationStatusRoot" }, { - "status-code": "202", + "status-code": "200", "response-type": "CalculationStatusRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/pub/v3/calculations/{id}/units/{unitId}/result": { + }, "get": { "tags": [ - "PubCalculations" + "QuantCalculations" ], - "summary": "Get Pub calculation result by id", - "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in the specified format.", - "operationId": "getCalculationUnitResultById", + "summary": "Get Quant Engine calculation parameters by id", + "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", + "operationId": "getCalculationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint" - } - }, - { - "name": "unitId", - "in": "path", - "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint", + "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get Pub calculation status by id endpoint" + "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed, returns result in the format specified in the Calculation parameters.", + "description": "Expected response, returns the Quant Engine calculation parameters.", "headers": { "Content-Encoding": { "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", @@ -27763,20 +28012,7 @@ "content": { "application/json": { "schema": { - "type": "string", - "format": "binary" - } - }, - "application/x-protobuf": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/pdf": { - "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/QuantCalculationParametersRoot" } } } @@ -27822,21 +28058,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/pdf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "description": "Calculation id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -27876,16 +28102,6 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/pdf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, @@ -27988,51 +28204,33 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": null, - "is-file": true + "response-type": "QuantCalculationParametersRoot" } ] - } - }, - "/analytics/engines/quant/v3/calculations": { - "post": { + }, + "delete": { "tags": [ "QuantCalculations" ], - "summary": "Create and Run Quant Engine calculation", - "description": "This endpoint runs the Quant Engine calculation specified in the POST body parameters.\r\nIt can take one or more calculation units as input.", - "operationId": "postAndCalculate", + "summary": "Cancel Quant calculation by id", + "description": "This is the endpoint to cancel a previously submitted calculation.", + "operationId": "cancelCalculationById", "parameters": [ { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts no-store, max-age, max-stale.", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run Quant calculation endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Create and Run Quant calculation endpoint" } } ], - "requestBody": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/QuantCalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "204": { + "description": "Expected response, calculation was canceled successfully.", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -28065,22 +28263,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28116,20 +28302,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "200": { - "description": "Expected response if the calculation has one unit and is completed with an error.", + "404": { + "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28165,20 +28356,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid calculation parameters.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28193,41 +28389,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28261,22 +28427,29 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "503": { + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28293,10 +28466,62 @@ } } } - }, - "403": { - "description": "User is forbidden with current credentials", + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "204", + "response-type": null + } + ] + } + }, + "/analytics/engines/quant/v3/calculations/{id}/status": { + "get": { + "tags": [ + "QuantCalculations" + ], + "summary": "Get Quant Engine calculation status by id", + "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.\r\nOtherwise, the calculation is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", + "operationId": "getCalculationStatusById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint" + } + } + ], + "responses": { + "200": { + "description": "Expected response once calculation is completed.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -28329,11 +28554,32 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "202": { + "description": "Expected response returned if the calculation is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -28366,10 +28612,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" + } + } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28402,9 +28655,110 @@ "schema": { "type": "string" } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", "schema": { "type": "string" } @@ -28412,7 +28766,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -28450,45 +28804,74 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "202", + "status-code": "200", "response-type": "CalculationStatusRoot" }, { - "status-code": "201", - "response-type": "ObjectRoot" - }, - { - "status-code": "200", + "status-code": "202", "response-type": "CalculationStatusRoot" } ] - }, + } + }, + "/analytics/engines/quant/v3/calculations/{id}/units/{unitId}/result": { "get": { "tags": [ "QuantCalculations" ], - "summary": "Get all calculations", - "description": "This endpoints returns all calculation requests.", - "operationId": "getAllCalculations", + "summary": "Get Quant Engine calculation result by id", + "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", + "operationId": "getCalculationUnitResultById", "parameters": [ { - "name": "pageNumber", - "in": "query", + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint", "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 1 + "type": "string", + "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint" + } + }, + { + "name": "unitId", + "in": "path", + "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint" } } ], "responses": { "200": { - "description": "List of calculation requests.", + "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -28525,13 +28908,26 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationsSummaryRoot" + "type": "string", + "format": "binary" + } + }, + "application/x-protobuf": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" } } } }, "400": { - "description": "Invalid page number.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28571,11 +28967,21 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/octet-stream": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, "404": { - "description": "No calculation found.", + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28615,30 +29021,21 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "application/x-protobuf": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/octet-stream": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "403": { - "description": "User is forbidden with current credentials.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28653,29 +29050,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28711,33 +29090,8 @@ } } }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -28779,58 +29133,65 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CalculationsSummaryRoot" + "response-type": null, + "is-file": true } ] } }, - "/analytics/engines/quant/v3/calculations/{id}": { - "put": { + "/analytics/engines/quant/v3/calculations/{id}/units/{unitId}/info": { + "get": { "tags": [ "QuantCalculations" ], - "summary": "Create or update Quant Engine calculation and run it.", - "description": "This endpoint updates and runs the Quant Engine calculation specified in the PUT body parameters. This also allows creating new Quant Engine calculations with custom ids.\r\nIt can take one or more calculation units as input.", - "operationId": "putAndCalculate", + "summary": "Get Quant Engine calculation metadata information by id", + "description": "This is the endpoint to get the metadata information of a previously requested calculation.", + "operationId": "getCalculationUnitInfoById", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint", + "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint" + "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint" } }, { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts no-store, max-age, max-stale.", + "name": "unitId", + "in": "path", + "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/QuantCalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response once calculation is completed.", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", "schema": { "type": "string", - "description": "URL to poll for the resulting calculation" + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." } }, "X-DataDirect-Request-Key": { @@ -28869,18 +29230,26 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "type": "string", + "format": "binary" } }, "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "type": "string", + "format": "binary" + } + }, + "application/octet-stream": { + "schema": { + "type": "string", + "format": "binary" } } } }, - "200": { - "description": "Expected response if the calculation has one unit and is completed with an error.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28918,18 +29287,23 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/octet-stream": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28967,18 +29341,23 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } }, "application/x-protobuf": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/octet-stream": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid Calculation Parameters.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -28993,41 +29372,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29061,22 +29410,77 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "409": { - "description": "Duplicate calculation exists with same parameters.", + "503": { + "description": "Request timed out. Retry the request in sometime.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": null, + "is-file": true + } + ] + } + }, + "/analytics/security-modeling/v3/securities/retrieve": { + "post": { + "tags": [ + "SecurityModeling" + ], + "summary": "Get existing securities", + "description": "This endpoint gets all existing securities.", + "operationId": "getSecurities", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SMRetrieveParametersRoot" + } + } + } + }, + "responses": { + "200": { + "description": "Expected response, returns a list of existing securities.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29114,12 +29518,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/SMRetrieveResponseRoot" } } } @@ -29180,8 +29579,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29218,7 +29617,7 @@ } }, "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "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.", @@ -29234,37 +29633,19 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + } + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { "type": "string", "description": "FactSet's request key header." @@ -29299,66 +29680,36 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - }, { "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" + "response-type": "SMRetrieveResponseRoot" } ] - }, - "get": { + } + }, + "/analytics/security-modeling/v3/securities/upsert": { + "post": { "tags": [ - "QuantCalculations" + "SecurityModeling" ], - "summary": "Get Quant Engine calculation parameters by id", - "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", - "operationId": "getCalculationParameters", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint" + "summary": "Create or update securities", + "description": "This endpoint is to create or update existing securities.", + "operationId": "upsertSecurities", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SMCreateParametersRoot" + } } } - ], + }, "responses": { "200": { - "description": "Expected response, returns the Quant Engine calculation parameters.", + "description": "Expected response, returns a status of operation along with errors and warnings if found any.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -29395,13 +29746,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/QuantCalculationParametersRoot" + "$ref": "#/components/schemas/SMCreateResponseRoot" } } } }, - "400": { - "description": "Invalid identifier provided.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29435,17 +29805,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "Calculation id not found", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29479,36 +29842,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -29524,20 +29861,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -29545,7 +29870,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -29587,32 +29912,31 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "QuantCalculationParametersRoot" + "response-type": "SMCreateResponseRoot" } ] - }, - "delete": { + } + }, + "/analytics/security-modeling/v3/securities/delete": { + "post": { "tags": [ - "QuantCalculations" + "SecurityModeling" ], - "summary": "Cancel Quant calculation by id", - "description": "This is the endpoint to cancel a previously submitted calculation.", - "operationId": "cancelCalculationById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Quant calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Quant calculation endpoint" + "summary": "Delete existing securities", + "description": "This endpoint deletes existing securities.", + "operationId": "deleteSecurities", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SMDeleteParametersRoot" + } } } - ], + }, "responses": { - "204": { - "description": "Expected response, calculation was canceled successfully.", + "200": { + "description": "Expected response, deletes existing securities.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29646,10 +29970,36 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SMDeleteResponseRoot" + } + } } }, - "400": { - "description": "Invalid identifier provided.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29683,27 +30033,10 @@ "type": "string" } } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "404": { - "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -29737,46 +30070,10 @@ "type": "string" } } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -29792,20 +30089,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -29854,57 +30139,36 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "204", - "response-type": null + "status-code": "200", + "response-type": "SMDeleteResponseRoot" } ] } }, - "/analytics/engines/quant/v3/calculations/{id}/status": { + "/analytics/security-modeling/v3/templates/{template}/fields": { "get": { "tags": [ - "QuantCalculations" + "SecurityModeling" ], - "summary": "Get Quant Engine calculation status by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.\r\nOtherwise, the calculation is still running and the X-FactSet-Api-PickUp-Progress header will contain a progress percentage.", - "operationId": "getCalculationStatusById", + "summary": "Get template fields", + "description": "This endpoint gets template fields.", + "operationId": "getTemplateFields", "parameters": [ { - "name": "id", + "name": "template", "in": "path", - "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint", + "description": "Template name", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run Quant Engine calculation endpoint" + "description": "Template name" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed.", + "description": "Expected response, returns a list of all template fields.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -29941,28 +30205,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/SMTemplateFieldPropertiesRoot" } } } }, - "202": { - "description": "Expected response returned if the calculation is not yet completed, should contain X-FactSet-Api-PickUp-Progress header.", + "400": { + "description": "Invalid template.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -29999,13 +30249,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "404": { + "description": "Template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30048,8 +30298,27 @@ } } }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30083,17 +30352,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30108,11 +30370,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -30128,20 +30408,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -30149,7 +30417,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -30191,70 +30459,36 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "202", - "response-type": "CalculationStatusRoot" + "response-type": "SMTemplateFieldPropertiesRoot" } ] } }, - "/analytics/engines/quant/v3/calculations/{id}/units/{unitId}/result": { + "/analytics/engines/axp/v3/strategies/{path}": { "get": { "tags": [ - "QuantCalculations" + "StrategyDocuments" ], - "summary": "Get Quant Engine calculation result by id", - "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", - "operationId": "getCalculationUnitResultById", + "summary": "Get Axioma Equity strategy documents and sub-directories in a directory", + "description": "This endpoint looks up all Axioma Equity strategy documents and sub-directories in a given directory.", + "operationId": "getAxiomaEquityStrategyDocuments", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint" - } - }, - { - "name": "unitId", + "name": "path", "in": "path", - "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint", + "description": "The directory to get the strategy documents and sub-directories in", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get Quant Engine calculation status by id endpoint" + "description": "The directory to get the strategy documents and sub-directories in", + "default": "" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", + "description": "Expected response, returns a list of Axioma Equity strategy documents and directories", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -30291,26 +30525,13 @@ "content": { "application/json": { "schema": { - "type": "string", - "format": "binary" - } - }, - "application/x-protobuf": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30350,21 +30571,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30404,21 +30615,30 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { + } + } + }, + "401": { + "description": "Missing or invalid authentication", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/octet-stream": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30433,11 +30653,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30473,6 +30711,31 @@ } } }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", "headers": { @@ -30493,7 +30756,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30516,67 +30779,36 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": null, - "is-file": true + "response-type": "DocumentDirectoriesRoot" } ] } }, - "/analytics/engines/quant/v3/calculations/{id}/units/{unitId}/info": { + "/analytics/engines/afi/v3/strategies/{path}": { "get": { "tags": [ - "QuantCalculations" + "StrategyDocuments" ], - "summary": "Get Quant Engine calculation metadata information by id", - "description": "This is the endpoint to get the metadata information of a previously requested calculation.", - "operationId": "getCalculationUnitInfoById", + "summary": "Get Axioma FI strategy documents and sub-directories in a directory", + "description": "This endpoint looks up all Axioma FI strategy documents and sub-directories in a given directory.", + "operationId": "getAxiomaFIStrategyDocuments", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint" - } - }, - { - "name": "unitId", + "name": "path", "in": "path", - "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint", + "description": "The directory to get the strategy documents and sub-directories in", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get Quant calculation status by id endpoint" + "description": "The directory to get the strategy documents and sub-directories in", + "default": "" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed.", + "description": "Expected response, returns a list of Axioma FI strategy documents and directories", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -30613,26 +30845,13 @@ "content": { "application/json": { "schema": { - "type": "string", - "format": "binary" - } - }, - "application/x-protobuf": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/octet-stream": { - "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30672,21 +30891,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/octet-stream": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30726,21 +30935,30 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { + } + } + }, + "401": { + "description": "Missing or invalid authentication", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/octet-stream": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "401": { - "description": "Missing or invalid authentication.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30755,11 +30973,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30795,6 +31031,31 @@ } } }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", "headers": { @@ -30815,7 +31076,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30838,59 +31099,36 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": null, - "is-file": true + "response-type": "DocumentDirectoriesRoot" } ] } }, - "/analytics/engines/spar/v3/calculations": { - "post": { + "/analytics/engines/bpm/v3/strategies/{path}": { + "get": { "tags": [ - "SPARCalculations" + "StrategyDocuments" ], - "summary": "Create and Run SPAR calculation", - "description": "This endpoint runs the SPAR calculation specified in the POST body parameters.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n*\tAny settings in POST body will act as a one-time override over the settings saved in the SPAR template.", - "operationId": "postAndCalculate", + "summary": "Get Barra strategy documents and sub-directories in a directory", + "description": "This endpoint looks up all Barra strategy documents and sub-directories in a given directory.", + "operationId": "getBarraStrategyDocuments", "parameters": [ { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the POST body.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", + "name": "path", + "in": "path", + "description": "The directory to get the strategy documents and sub-directories in", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "The directory to get the strategy documents and sub-directories in", + "default": "" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SPARCalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response, returns a list of Barra strategy documents and directories", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -30927,18 +31165,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", + "400": { + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -30976,67 +31209,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - } - } - }, - "400": { - "description": "Invalid calculation parameters.", + "404": { + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31076,65 +31255,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "One or more calculation settings were unavailable.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "401": { - "description": "Missing or invalid authentication.", + "description": "Missing or invalid authentication", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31189,8 +31314,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31227,7 +31352,7 @@ } }, "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "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.", @@ -31243,24 +31368,6 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -31270,7 +31377,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -31289,7 +31396,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31308,44 +31415,39 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - }, { "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" + "response-type": "DocumentDirectoriesRoot" } ] - }, + } + }, + "/analytics/engines/npo/v3/strategies/{path}": { "get": { "tags": [ - "SPARCalculations" + "StrategyDocuments" ], - "summary": "Get all calculations", - "description": "This endpoints returns all calculation requests.", - "operationId": "getAllCalculations", + "summary": "Get Northfield strategy documents and sub-directories in a directory", + "description": "This endpoint looks up all Northfield strategy documents and sub-directories in a given directory.", + "operationId": "getNorthfieldStrategyDocuments", "parameters": [ { - "name": "pageNumber", - "in": "query", + "name": "path", + "in": "path", + "description": "The directory to get the strategy documents and sub-directories in", "required": true, "schema": { - "type": "integer", - "format": "int32", - "default": 1 + "type": "string", + "description": "The directory to get the strategy documents and sub-directories in", + "default": "" } } ], "responses": { "200": { - "description": "List of calculation requests.", + "description": "Expected response, returns a list of Northfield strategy documents and directories", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31383,13 +31485,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationsSummaryRoot" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, "400": { - "description": "Invalid page number.", + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31433,7 +31535,7 @@ } }, "404": { - "description": "No calculation found.", + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31477,7 +31579,7 @@ } }, "401": { - "description": "Missing or invalid authentication.", + "description": "Missing or invalid authentication", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31496,7 +31598,7 @@ } }, "403": { - "description": "User is forbidden with current credentials.", + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31533,7 +31635,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "description": "Unsupported Accept header. Header needs to be set to application/json", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31595,7 +31697,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -31614,7 +31716,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in sometime.", + "description": "Request timed out. Retry the request in some time", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31637,68 +31739,36 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CalculationsSummaryRoot" + "response-type": "DocumentDirectoriesRoot" } ] } }, - "/analytics/engines/spar/v3/calculations/{id}": { - "put": { + "/analytics/engines/fpo/v3/strategies/{path}": { + "get": { "tags": [ - "SPARCalculations" + "StrategyDocuments" ], - "summary": "Create or Update SPAR calculation and run it.", - "description": "This endpoint updates and run the SPAR calculation specified in the PUT body parameters. This also allows creating new SPAR calculations with custom ids.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n*\tAny settings in PUT body will act as a one-time override over the settings saved in the SPAR template.", - "operationId": "putAndCalculate", + "summary": "Get FactSet Portfolio Optimizer strategy documents and sub-directories in a directory", + "description": "This endpoint looks up all FactSet Portfolio Optimizer strategy documents and sub-directories in a given directory.", + "operationId": "getFPOStrategyDocuments", "parameters": [ { - "name": "id", + "name": "path", "in": "path", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint", + "description": "The directory to get the strategy documents and sub-directories in", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint" - } - }, - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", - "schema": { - "type": "string" + "description": "The directory to get the strategy documents and sub-directories in", + "default": "" } } ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SPARCalculationParametersRoot" - } - } - } - }, "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", + "200": { + "description": "Expected response, returns a list of FactSet Portfolio Optimizer strategy documents and directories", "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -31735,18 +31805,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/DocumentDirectoriesRoot" } } } }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", + "400": { + "description": "Invalid query parameter or value provided", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31784,18 +31849,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", + "404": { + "description": "Path not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31833,18 +31893,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, + "401": { + "description": "Missing or invalid authentication", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ObjectRoot" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } } }, - "400": { - "description": "Invalid Calculation Parameters.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31878,22 +31952,140 @@ "type": "string" } } - }, - "content": { - "application/json": { + } + }, + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "FactSet's request key header." } }, - "application/x-protobuf": { + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" } } } }, - "404": { - "description": "One or more calculation settings were unavailable.", + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, + "500": { + "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "503": { + "description": "Request timed out. Retry the request in some time", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "200", + "response-type": "DocumentDirectoriesRoot" + } + ] + } + }, + "/analytics/engines/pa/v3/templated-components": { + "post": { + "tags": [ + "TemplatedPAComponents" + ], + "summary": "Create templated PA component", + "description": "This endpoint creates new component based off of linked PA template or unlinked PA template.\r\n\r\nRemarks:\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", + "operationId": "createTemplatedPAComponents", + "requestBody": { + "description": "Request Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TemplatedPAComponentParametersRoot" + } + } + }, + "required": true + }, + "responses": { + "201": { + "description": "Expected response, templated PA component created successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31929,20 +32121,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" } }, - "application/x-protobuf": { + "text/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" } } } }, - "409": { - "description": "Duplicate calculation exists with same parameters.", + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -31978,12 +32175,17 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -32046,8 +32248,8 @@ } } }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", + "404": { + "description": "Template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32083,8 +32285,8 @@ } } }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32117,6 +32319,25 @@ "schema": { "type": "string" } + } + } + }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", @@ -32165,66 +32386,38 @@ } } }, - "x-are-multiple-success-responses-different": true, + "x-are-multiple-success-responses-different": false, "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "200", - "response-type": "CalculationStatusRoot" - }, { "status-code": "201", - "response-type": "ObjectRoot" + "response-type": "TemplatedPAComponentPostSummaryRoot" } ] }, "get": { "tags": [ - "SPARCalculations" + "TemplatedPAComponents" ], - "summary": "Get SPAR calculation parameters by id", - "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", - "operationId": "getCalculationParameters", + "summary": "Get templated PA components in path", + "description": "This endpoint returns the list of templated PA components in path.", + "operationId": "getTemplatedPAComponentsInPath", "parameters": [ { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint", + "name": "directory", + "in": "query", + "description": "Get templated PA components in path", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint" + "description": "Get templated PA components in path", + "example": "Personal:TemplatedPAComponents/" } } ], "responses": { "200": { - "description": "Expected response, returns the SPAR calculation parameters.", + "description": "Expected response, returns a list templated PA components.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -32261,13 +32454,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SPARCalculationParametersRoot" + "$ref": "#/components/schemas/TemplatedPAComponentSummaryRoot" } } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32310,8 +32503,27 @@ } } }, - "404": { - "description": "Calculation id not found", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32345,17 +32557,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32370,11 +32575,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -32390,20 +32613,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -32411,7 +32622,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -32453,32 +32664,46 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "SPARCalculationParametersRoot" + "response-type": "TemplatedPAComponentSummaryRoot" } ] - }, - "delete": { + } + }, + "/analytics/engines/pa/v3/templated-components/{id}": { + "put": { "tags": [ - "SPARCalculations" + "TemplatedPAComponents" ], - "summary": "Cancel SPAR calculation", - "description": "This is the endpoint to cancel a previously submitted calculation.", - "operationId": "cancelCalculationById", + "summary": "Update templated PA component", + "description": "This endpoint allows the user to change the request body from an existing templated PA component.\r\n\r\nRemarks:\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", + "operationId": "updateTemplatedPAComponents", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint", + "description": "Unique identifier for a templated PA component", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint" + "description": "Unique identifier for a templated PA component", + "example": "01234567890123456789012345678901" } } ], + "requestBody": { + "description": "Request Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TemplatedPAComponentUpdateParametersRoot" + } + } + }, + "required": true + }, "responses": { - "204": { - "description": "Expected response, calculation was canceled successfully.", + "200": { + "description": "Expected response, updated successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32512,10 +32737,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" + } + } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32551,25 +32783,15 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", + "description": "Component or template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32605,20 +32827,10 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, @@ -32678,6 +32890,68 @@ } } }, + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "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.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } + } + } + }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", "headers": { @@ -32720,57 +32994,35 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "204", - "response-type": null + "status-code": "200", + "response-type": "TemplatedPAComponentPostSummaryRoot" } ] - } - }, - "/analytics/engines/spar/v3/calculations/{id}/status": { + }, "get": { "tags": [ - "SPARCalculations" + "TemplatedPAComponents" ], - "summary": "Get SPAR calculation status by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.", - "operationId": "getCalculationStatusById", + "summary": "Get templated PA component by id", + "description": "This endpoint fetches the templated PA component settings.", + "operationId": "getTemplatedPAComponentById", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint", + "description": "Unique identifier for a templated PA component", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Create and Run SPAR calculation endpoint" + "description": "Unique identifier for a templated PA component", + "example": "01234567890123456789012345678901" } } ], "responses": { "200": { - "description": "Expected response once calculation is completed.", + "description": "Expected response, templated PA component details.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -32807,28 +33059,14 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/TemplatedPAComponentRoot" } } } }, - "202": { - "description": "Expected response returned if the calculation is not yet completed.", + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -32865,13 +33103,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid identifier provided.", + "404": { + "description": "Templated PA component not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32914,8 +33152,27 @@ } } }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32949,17 +33206,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } } }, - "401": { - "description": "Missing or invalid authentication.", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -32974,11 +33224,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "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.", @@ -32994,20 +33262,8 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { "type": "string" } @@ -33015,7 +33271,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -33057,70 +33313,34 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "202", - "response-type": "CalculationStatusRoot" + "response-type": "TemplatedPAComponentRoot" } ] - } - }, - "/analytics/engines/spar/v3/calculations/{id}/units/{unitId}/result": { - "get": { + }, + "delete": { "tags": [ - "SPARCalculations" + "TemplatedPAComponents" ], - "summary": "Get SPAR calculation result by id", - "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", - "operationId": "getCalculationUnitResultById", + "summary": "Delete templated PA component", + "description": "This endpoint deletes an existing templated PA component", + "operationId": "deleteTemplatedPAComponents", "parameters": [ { "name": "id", "in": "path", - "description": "from url, provided from the location header in the Get SPAR calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get SPAR calculation status by id endpoint" - } - }, - { - "name": "unitId", - "in": "path", - "description": "from url, provided from the location header in the Get SPAR calculation status by id endpoint", + "description": "Unique identifier for a templated PA component", "required": true, "schema": { "type": "string", - "description": "from url, provided from the location header in the Get SPAR calculation status by id endpoint" + "description": "Unique identifier for a templated PA component", + "example": "01234567890123456789012345678901" } } ], "responses": { - "200": { - "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", + "204": { + "description": "Expected response, deleted the templated PA component successfully.", "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -33153,22 +33373,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - } } }, "400": { - "description": "Invalid identifier provided.", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33204,12 +33412,17 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -33217,7 +33430,7 @@ } }, "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", + "description": "Component not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33253,12 +33466,17 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } }, - "application/x-protobuf": { + "text/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -33321,8 +33539,8 @@ } } }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "406": { + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33337,11 +33555,29 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", + "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.", @@ -33356,43 +33592,17 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "Retry-After": { + "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "schema": { + "type": "string" + } } } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "ObjectRoot" - } - ] - } - }, - "/analytics/engines/axp/v3/strategies/{path}": { - "get": { - "tags": [ - "StrategyDocuments" - ], - "summary": "Get Axioma Equity strategy documents and sub-directories in a directory", - "description": "This endpoint looks up all Axioma Equity strategy documents and sub-directories in a given directory.", - "operationId": "getAxiomaEquityStrategyDocuments", - "parameters": [ - { - "name": "path", - "in": "path", - "description": "The directory to get the strategy documents and sub-directories in", - "required": true, - "schema": { - "type": "string", - "description": "The directory to get the strategy documents and sub-directories in", - "default": "" - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns a list of Axioma Equity strategy documents and directories", + }, + "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.", @@ -33407,36 +33617,60 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", + } + } + }, + "503": { + "description": "Request timed out. Retry the request in sometime.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", "schema": { - "type": "string" + "type": "string", + "description": "FactSet's request key header." } }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", "schema": { - "type": "string" + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" - } + } + } + }, + "x-are-multiple-success-responses-different": false, + "x-success-response-types": [ + { + "status-code": "204", + "response-type": null + } + ] + } + }, + "/analytics/engines/pa/v3/unlinked-templates": { + "post": { + "tags": [ + "UnlinkedPATemplates" + ], + "summary": "Create unlinked PA template", + "description": "This endpoint creates a template which is not linked to any specific PA3 tile. \r\n\r\nRemarks:\r\n\r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also \r\n overriding the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", + "operationId": "createUnlinkedPATemplates", + "requestBody": { + "description": "Request Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnlinkedPATemplateParametersRoot" } } }, - "400": { - "description": "Invalid query parameter or value provided", + "required": true + }, + "responses": { + "201": { + "description": "Expected response, created a unlinked PA template.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33474,13 +33708,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/UnlinkedPATemplatePostSummaryRoot" } } } }, - "404": { - "description": "Path not found", + "400": { + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33524,7 +33758,7 @@ } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33580,7 +33814,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33642,7 +33876,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -33661,7 +33895,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33683,36 +33917,43 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "200", - "response-type": "DocumentDirectoriesRoot" + "status-code": "201", + "response-type": "UnlinkedPATemplatePostSummaryRoot" } ] - } - }, - "/analytics/engines/afi/v3/strategies/{path}": { + }, "get": { "tags": [ - "StrategyDocuments" + "UnlinkedPATemplates" ], - "summary": "Get Axioma FI strategy documents and sub-directories in a directory", - "description": "This endpoint looks up all Axioma FI strategy documents and sub-directories in a given directory.", - "operationId": "getAxiomaFIStrategyDocuments", + "summary": "Get unlinked PA templates", + "description": "This endpoint returns the list of unlinked PA templates.", + "operationId": "getUnlinkedPATemplates", "parameters": [ { - "name": "path", - "in": "path", - "description": "The directory to get the strategy documents and sub-directories in", - "required": true, + "name": "directory", + "in": "query", + "description": "Get unlinked PA templates in path.", "schema": { "type": "string", - "description": "The directory to get the strategy documents and sub-directories in", - "default": "" + "description": "Get unlinked PA templates in path.", + "example": "Personal:UninkedPATemplates/" + } + }, + { + "name": "category", + "in": "query", + "description": "Get unlinked PA templates by category.", + "schema": { + "type": "string", + "description": "Get unlinked PA templates by category.", + "example": "Weights" } } ], "responses": { "200": { - "description": "Expected response, returns a list of Axioma FI strategy documents and directories", + "description": "Expected response, returns a list of unlinked PA templates.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33750,57 +33991,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" + "$ref": "#/components/schemas/UnlinkedPATemplateSummaryRoot" } } } }, "400": { - "description": "Invalid query parameter or value provided", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "Path not found", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33844,7 +34041,7 @@ } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33900,7 +34097,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -33962,7 +34159,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -33981,7 +34178,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34004,35 +34201,46 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DocumentDirectoriesRoot" + "response-type": "UnlinkedPATemplateSummaryRoot" } ] } }, - "/analytics/engines/bpm/v3/strategies/{path}": { - "get": { + "/analytics/engines/pa/v3/unlinked-templates/{id}": { + "put": { "tags": [ - "StrategyDocuments" + "UnlinkedPATemplates" ], - "summary": "Get Barra strategy documents and sub-directories in a directory", - "description": "This endpoint looks up all Barra strategy documents and sub-directories in a given directory.", - "operationId": "getBarraStrategyDocuments", + "summary": "Update unlinked PA template", + "description": "This endpoint updates an existing unlinked PA template.\r\n\r\nRemarks:\r\n \r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", + "operationId": "updateUnlinkedPATemplates", "parameters": [ { - "name": "path", + "name": "id", "in": "path", - "description": "The directory to get the strategy documents and sub-directories in", + "description": "Unique identifier for an unlinked PA template", "required": true, "schema": { "type": "string", - "description": "The directory to get the strategy documents and sub-directories in", - "default": "" + "description": "Unique identifier for an unlinked PA template", + "example": "01234567890123456789012345678901" } } ], + "requestBody": { + "description": "Request Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UnlinkedPATemplateUpdateParametersRoot" + } + } + }, + "required": true + }, "responses": { "200": { - "description": "Expected response, returns a list of Barra strategy documents and directories", + "description": "Expected response, updated the unlinked PA template.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34070,13 +34278,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" + "$ref": "#/components/schemas/UnlinkedPATemplatePostSummaryRoot" } } } }, "400": { - "description": "Invalid query parameter or value provided", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34120,7 +34328,7 @@ } }, "404": { - "description": "Path not found", + "description": "Template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34164,7 +34372,7 @@ } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34220,7 +34428,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34282,7 +34490,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -34301,7 +34509,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34324,35 +34532,33 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DocumentDirectoriesRoot" + "response-type": "UnlinkedPATemplatePostSummaryRoot" } ] - } - }, - "/analytics/engines/npo/v3/strategies/{path}": { - "get": { + }, + "delete": { "tags": [ - "StrategyDocuments" + "UnlinkedPATemplates" ], - "summary": "Get Northfield strategy documents and sub-directories in a directory", - "description": "This endpoint looks up all Northfield strategy documents and sub-directories in a given directory.", - "operationId": "getNorthfieldStrategyDocuments", + "summary": "Delete unlinked PA template", + "description": "This endpoint deletes an existing unliked PA template.", + "operationId": "deleteUnlinkedPATemplates", "parameters": [ { - "name": "path", + "name": "id", "in": "path", - "description": "The directory to get the strategy documents and sub-directories in", + "description": "Unique identifier for an unlinked PA template", "required": true, "schema": { "type": "string", - "description": "The directory to get the strategy documents and sub-directories in", - "default": "" + "description": "Unique identifier for an unlinked PA template", + "example": "01234567890123456789012345678901" } } ], "responses": { - "200": { - "description": "Expected response, returns a list of Northfield strategy documents and directories", + "204": { + "description": "Expected response, deleted the unlinked PA template successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34386,17 +34592,10 @@ "type": "string" } } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" - } - } } }, "400": { - "description": "Invalid query parameter or value provided", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34440,7 +34639,7 @@ } }, "404": { - "description": "Path not found", + "description": "Template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34484,7 +34683,7 @@ } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34540,7 +34739,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34602,7 +34801,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -34621,7 +34820,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34643,36 +34842,34 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "200", - "response-type": "DocumentDirectoriesRoot" + "status-code": "204", + "response-type": null } ] - } - }, - "/analytics/engines/fpo/v3/strategies/{path}": { + }, "get": { "tags": [ - "StrategyDocuments" + "UnlinkedPATemplates" ], - "summary": "Get FactSet Portfolio Optimizer strategy documents and sub-directories in a directory", - "description": "This endpoint looks up all FactSet Portfolio Optimizer strategy documents and sub-directories in a given directory.", - "operationId": "getFPOStrategyDocuments", + "summary": "Get unlinked PA template details by id", + "description": "This endpoint fetches the template settings.", + "operationId": "getUnlinkedPATemplatesById", "parameters": [ { - "name": "path", + "name": "id", "in": "path", - "description": "The directory to get the strategy documents and sub-directories in", + "description": "Unique identifier for an unlinked PA template", "required": true, "schema": { "type": "string", - "description": "The directory to get the strategy documents and sub-directories in", - "default": "" + "description": "Unique identifier for an unlinked PA template", + "example": "01234567890123456789012345678901" } } ], "responses": { "200": { - "description": "Expected response, returns a list of FactSet Portfolio Optimizer strategy documents and directories", + "description": "Expected response, get details of the unlinked PA template.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34710,13 +34907,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DocumentDirectoriesRoot" + "$ref": "#/components/schemas/UnlinkedPATemplateRoot" } } } }, "400": { - "description": "Invalid query parameter or value provided", + "description": "Invalid data provided. Please check the request parameters before attempting again.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34760,7 +34957,7 @@ } }, "404": { - "description": "Path not found", + "description": "Template not found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34804,7 +35001,7 @@ } }, "401": { - "description": "Missing or invalid authentication", + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34860,7 +35057,7 @@ } }, "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json", + "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34922,7 +35119,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", + "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.", @@ -34941,7 +35138,7 @@ } }, "503": { - "description": "Request timed out. Retry the request in some time", + "description": "Request timed out. Retry the request in sometime.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -34964,87 +35161,22 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "DocumentDirectoriesRoot" + "response-type": "UnlinkedPATemplateRoot" } ] } }, - "/analytics/engines/pa/v3/templated-components": { - "post": { + "/analytics/engines/pa/v3/unlinked-templates/template-types": { + "get": { "tags": [ - "TemplatedPAComponents" + "UnlinkedPATemplates" ], - "summary": "Create templated PA component", - "description": "This endpoint creates new component based off of linked PA template or unlinked PA template.\r\n\r\nRemarks:\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", - "operationId": "createTemplatedPAComponents", - "requestBody": { - "description": "Request Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentParametersRoot" - } - } - }, - "required": true - }, + "summary": "Get default unlinked PA template types.", + "description": "This endpoint fetches default unlinked PA template types.", + "operationId": "getDefaultUnlinkedPATemplateTypes", "responses": { - "201": { - "description": "Expected response, templated PA component created successfully.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" - } - } - } - }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "200": { + "description": "Expected response, default unlinked PA template types", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -35080,19 +35212,9 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/UnlinkedPATemplateCategoryAndTypeRoot" } } } @@ -35153,43 +35275,6 @@ } } }, - "404": { - "description": "Template not found.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, "406": { "description": "Unsupported Accept header. Header needs to be set to application/json.", "headers": { @@ -35294,33 +35379,35 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "201", - "response-type": "TemplatedPAComponentPostSummaryRoot" + "status-code": "200", + "response-type": "UnlinkedPATemplateCategoryAndTypeRoot" } ] - }, + } + }, + "/analytics/engines/pa/v3/unlinked-templates/template-types/{id}": { "get": { "tags": [ - "TemplatedPAComponents" + "UnlinkedPATemplates" ], - "summary": "Get templated PA components in path", - "description": "This endpoint returns the list of templated PA components in path.", - "operationId": "getTemplatedPAComponentsInPath", + "summary": "Get unlinked PA template type details by id.", + "description": "This endpoint fetches the unlinked PA template type details.", + "operationId": "getDetailsType", "parameters": [ { - "name": "directory", - "in": "query", - "description": "Get templated PA components in path", + "name": "id", + "in": "path", + "description": "Unique identifier for an unlinked PA template type", "required": true, "schema": { "type": "string", - "description": "Get templated PA components in path" + "description": "Unique identifier for an unlinked PA template type" } } ], "responses": { "200": { - "description": "Expected response, returns a list templated PA components.", + "description": "Expected response, details of the unlinked PA template type", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -35358,7 +35445,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentSummaryRoot" + "$ref": "#/components/schemas/UnlinkedPATemplateCategoryAndTypeDetailsRoot" } } } @@ -35407,6 +35494,50 @@ } } }, + "404": { + "description": "Unlinked PA template type not found.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } + } + }, "401": { "description": "Missing or invalid authentication.", "headers": { @@ -35568,45 +35699,53 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "TemplatedPAComponentSummaryRoot" + "response-type": "UnlinkedPATemplateCategoryAndTypeDetailsRoot" } ] } }, - "/analytics/engines/pa/v3/templated-components/{id}": { - "put": { + "/analytics/engines/vault/v3/load/{batchId}": { + "post": { "tags": [ - "TemplatedPAComponents" + "Vault Attribution Loader" ], - "summary": "Update templated PA component", - "description": "This endpoint allows the user to change the request body from an existing templated PA component.\r\n\r\nRemarks:\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", - "operationId": "updateTemplatedPAComponents", + "summary": "Vault - External Attribution Loader", + "description": "This endpoint loads Vault External Attributions.", + "operationId": "vaultAttributionLoader", "parameters": [ { - "name": "id", + "name": "batchId", "in": "path", - "description": "Unique identifier for a templated PA component", "required": true, "schema": { - "type": "string", - "description": "Unique identifier for a templated PA component" + "type": "string" } } ], "requestBody": { - "description": "Request Parameters", "content": { - "application/json": { + "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentUpdateParametersRoot" + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary", + "nullable": true + } + } + }, + "encoding": { + "file": { + "style": "form" + } } } - }, - "required": true + } }, "responses": { "200": { - "description": "Expected response, updated successfully.", + "description": "Expected response, returns a status of operation along with errors and warnings if found any.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -35644,57 +35783,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentPostSummaryRoot" + "$ref": "#/components/schemas/VaultAttributionLoaderResponseRoot" } } } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "Component or template not found.", + "description": "Bad Request", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -35898,33 +35993,58 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "TemplatedPAComponentPostSummaryRoot" + "response-type": "VaultAttributionLoaderResponseRoot" } ] - }, - "get": { + } + }, + "/analytics/engines/vault/v3/calculations": { + "post": { "tags": [ - "TemplatedPAComponents" + "VaultCalculations" ], - "summary": "Get templated PA component by id", - "description": "This endpoint fetches the templated PA component settings.", - "operationId": "getTemplatedPAComponentById", + "summary": "Create and Run Vault calculation", + "description": "This endpoint runs the Vault calculation specified in the POST body parameters.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n* Start and and end date must be within the configuration's min and max date range", + "operationId": "postAndCalculate", "parameters": [ { - "name": "id", - "in": "path", - "description": "Unique identifier for a templated PA component", - "required": true, + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds when only one unit is passed in the POST body.", "schema": { - "type": "string", - "description": "Unique identifier for a templated PA component" + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" } } ], + "requestBody": { + "description": "Calculation Parameters", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VaultCalculationParametersRoot" + } + } + } + }, "responses": { - "200": { - "description": "Expected response, templated PA component details.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting calculation", + "schema": { + "type": "string", + "description": "URL to poll for the resulting calculation" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -35961,13 +36081,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TemplatedPAComponentRoot" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "200": { + "description": "Expected response, if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36005,13 +36130,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "404": { - "description": "Templated PA component not found.", + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36049,13 +36179,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/ObjectRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "401": { - "description": "Missing or invalid authentication.", + "400": { + "description": "Invalid calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36070,11 +36205,41 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, - "403": { - "description": "User is forbidden with current credentials", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36108,10 +36273,78 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "401": { + "description": "Missing or invalid authentication.", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + } + } + }, + "403": { + "description": "User is forbidden with current credentials", + "headers": { + "X-DataDirect-Request-Key": { + "description": "FactSet's request key header.", + "schema": { + "type": "string", + "description": "FactSet's request key header." + } + }, + "X-FactSet-Api-Request-Key": { + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "schema": { + "type": "string", + "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + } + }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + } + } + }, + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36148,7 +36381,7 @@ } }, "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36164,6 +36397,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -36211,36 +36462,44 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ + { + "status-code": "202", + "response-type": "CalculationStatusRoot" + }, { "status-code": "200", - "response-type": "TemplatedPAComponentRoot" + "response-type": "CalculationStatusRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] }, - "delete": { + "get": { "tags": [ - "TemplatedPAComponents" + "VaultCalculations" ], - "summary": "Delete templated PA component", - "description": "This endpoint deletes an existing templated PA component", - "operationId": "deleteTemplatedPAComponents", + "summary": "Get all calculations", + "description": "This endpoints returns all calculation requests.", + "operationId": "getAllCalculations", "parameters": [ { - "name": "id", - "in": "path", - "description": "Unique identifier for a templated PA component", + "name": "pageNumber", + "in": "query", "required": true, "schema": { - "type": "string", - "description": "Unique identifier for a templated PA component" + "type": "integer", + "format": "int32", + "default": 1 } } ], "responses": { - "204": { - "description": "Expected response, deleted the templated PA component successfully.", + "200": { + "description": "List of calculation requests.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36274,10 +36533,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalculationsSummaryRoot" + } + } } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid page number.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36313,25 +36579,15 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, "404": { - "description": "Component not found.", + "description": "No calculation found.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36367,20 +36623,10 @@ } }, "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } } } }, @@ -36404,7 +36650,7 @@ } }, "403": { - "description": "User is forbidden with current credentials", + "description": "User is forbidden with current credentials.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36544,35 +36790,69 @@ "x-are-multiple-success-responses-different": false, "x-success-response-types": [ { - "status-code": "204", - "response-type": null + "status-code": "200", + "response-type": "CalculationsSummaryRoot" } ] } }, - "/analytics/engines/pa/v3/unlinked-templates": { - "post": { + "/analytics/engines/vault/v3/calculations/{id}": { + "put": { "tags": [ - "UnlinkedPATemplates" + "VaultCalculations" + ], + "summary": "Create or Update Vault calculation and run it.", + "description": "This endpoint updates and run the Vault calculation specified in the PUT body parameters. This also allows creating new Vault calculations with custom ids.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n* Start and and end date must be within the configuration's min and max date range", + "operationId": "putAndCalculate", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" + } + }, + { + "name": "X-FactSet-Api-Long-Running-Deadline", + "in": "header", + "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", + "schema": { + "type": "integer" + } + }, + { + "name": "Cache-Control", + "in": "header", + "description": "Standard HTTP header. Accepts max-stale.", + "schema": { + "type": "string" + } + } ], - "summary": "Create unlinked PA template", - "description": "This endpoint creates a template which is not linked to any specific PA3 tile. \r\n\r\nRemarks:\r\n\r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also \r\n overriding the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", - "operationId": "createUnlinkedPATemplates", "requestBody": { - "description": "Request Parameters", + "description": "Calculation Parameters", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplateParametersRoot" + "$ref": "#/components/schemas/VaultCalculationParametersRoot" } } - }, - "required": true + } }, "responses": { - "201": { - "description": "Expected response, created a unlinked PA template.", + "202": { + "description": "Expected response, contains the poll URL in the Location header.", "headers": { + "Location": { + "description": "URL to poll for the resulting calculation", + "schema": { + "type": "string", + "description": "URL to poll for the resulting calculation" + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -36609,13 +36889,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplatePostSummaryRoot" + "$ref": "#/components/schemas/CalculationStatusRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "200": { + "description": "Expected response, if the calculation has one unit and is completed with an error.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36653,32 +36938,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/CalculationStatusRoot" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "403": { - "description": "User is forbidden with current credentials", + "201": { + "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36712,10 +36983,22 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ObjectRoot" + } + } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "400": { + "description": "Invalid Calculation Parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36749,110 +37032,22 @@ "type": "string" } } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "content": { + "application/json": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "201", - "response-type": "UnlinkedPATemplatePostSummaryRoot" - } - ] - }, - "get": { - "tags": [ - "UnlinkedPATemplates" - ], - "summary": "Get unlinked PA templates", - "description": "This endpoint returns the list of unlinked PA templates.", - "operationId": "getUnlinkedPATemplates", - "parameters": [ - { - "name": "directory", - "in": "query", - "description": "Get unlinked PA templates in path.", - "schema": { - "type": "string", - "description": "Get unlinked PA templates in path." - } }, - { - "name": "category", - "in": "query", - "description": "Get unlinked PA templates by category.", - "schema": { - "type": "string", - "description": "Get unlinked PA templates by category." - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns a list of unlinked PA templates.", + "404": { + "description": "One or more calculation settings were unavailable.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36890,13 +37085,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplateSummaryRoot" + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "409": { + "description": "Duplicate calculation exists with same parameters.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -36936,6 +37136,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, @@ -36995,8 +37200,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "415": { + "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37033,7 +37238,7 @@ } }, "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37049,6 +37254,24 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", + "schema": { + "type": "string" + } + }, "Retry-After": { "description": "Time to wait in seconds before making a new request as the rate limit has reached.", "schema": { @@ -37096,50 +37319,66 @@ } } }, - "x-are-multiple-success-responses-different": false, + "x-are-multiple-success-responses-different": true, "x-success-response-types": [ + { + "status-code": "202", + "response-type": "CalculationStatusRoot" + }, { "status-code": "200", - "response-type": "UnlinkedPATemplateSummaryRoot" + "response-type": "CalculationStatusRoot" + }, + { + "status-code": "201", + "response-type": "ObjectRoot" } ] - } - }, - "/analytics/engines/pa/v3/unlinked-templates/{id}": { - "put": { + }, + "get": { "tags": [ - "UnlinkedPATemplates" + "VaultCalculations" ], - "summary": "Update unlinked PA template", - "description": "This endpoint updates an existing unlinked PA template.\r\n\r\nRemarks:\r\n \r\n* Mandatory fields are required to be passed in POST requests and Optional fields are not necessary. \r\n If no mandatory fields are passed, then we can use the template as a component and skip the component creation.\r\n \r\n* Mandatory, optional and locked fields can be \"accounts\", \"benchmarks\", \"groups\", \"columns\", \"datasources\", \"dates\", \"currencyisocode\" and \"componentdetail\".\r\n\r\n* We cannot override the Locked fields when creating the Component.\r\n\r\n* Mandatory and locked strings are mutually exclusive.\r\n\r\n* Any settings in the POST body will act as a one-time override over the settings saved in the PA template.\r\n\r\n* Multi-horizon frequencies are not supported through this endpoint.\r\n\r\n* Componentdetail supports securities, groups, and totals as well but if we don't pass anything that defaults to securities.\r\n\r\n* If we are overriding the grouping with a frequency, we will be overriding the grouping saved to the original component and also overriding \r\n the default frequency of the Beginning of Period to whatever we pass in the request body.\r\n \r\n* If we are overriding gouping frequency without overriding the group id it will not be applied to the default groupings saved to the original component.", - "operationId": "updateUnlinkedPATemplates", + "summary": "Get Vault calculation parameters by id", + "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", + "operationId": "getCalculationParameters", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for an unlinked PA template", + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", "required": true, "schema": { "type": "string", - "description": "Unique identifier for an unlinked PA template" + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" } } ], - "requestBody": { - "description": "Request Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplateUpdateParametersRoot" - } - } - }, - "required": true - }, "responses": { "200": { - "description": "Expected response, updated the unlinked PA template.", + "description": "Expected response, returns the Vault calculation parameters.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -37176,13 +37415,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplatePostSummaryRoot" + "$ref": "#/components/schemas/VaultCalculationParametersRoot" } } } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37226,7 +37465,7 @@ } }, "404": { - "description": "Template not found.", + "description": "Calculation id not found", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37325,70 +37564,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -37430,32 +37607,32 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "UnlinkedPATemplatePostSummaryRoot" + "response-type": "VaultCalculationParametersRoot" } ] }, "delete": { "tags": [ - "UnlinkedPATemplates" + "VaultCalculations" ], - "summary": "Delete unlinked PA template", - "description": "This endpoint deletes an existing unliked PA template.", - "operationId": "deleteUnlinkedPATemplates", + "summary": "Cancel Vault calculation by id", + "description": "This is the endpoint to cancel a previously submitted calculation.", + "operationId": "cancelCalculationById", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for an unlinked PA template", + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", "required": true, "schema": { "type": "string", - "description": "Unique identifier for an unlinked PA template" + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" } } ], "responses": { "204": { - "description": "Expected response, deleted the unlinked PA template successfully.", + "description": "Expected response, calculation was canceled successfully.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37492,7 +37669,7 @@ } }, "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37528,15 +37705,25 @@ } }, "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, "404": { - "description": "Template not found.", + "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37572,34 +37759,25 @@ } }, "content": { - "application/json": { + "text/plain": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", + }, + "application/json": { "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "text/json": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ClientErrorResponse" } } } }, - "403": { - "description": "User is forbidden with current credentials", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37614,29 +37792,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37672,31 +37832,6 @@ } } }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", "headers": { @@ -37743,30 +37878,53 @@ "response-type": null } ] - }, + } + }, + "/analytics/engines/vault/v3/calculations/{id}/status": { "get": { "tags": [ - "UnlinkedPATemplates" + "VaultCalculations" ], - "summary": "Get unlinked PA template details by id", - "description": "This endpoint fetches the template settings.", - "operationId": "getUnlinkedPATemplatesById", + "summary": "Get Vault calculation status by id", + "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.", + "operationId": "getCalculationStatusById", "parameters": [ { "name": "id", "in": "path", - "description": "Unique identifier for an unlinked PA template", + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", "required": true, "schema": { "type": "string", - "description": "Unique identifier for an unlinked PA template" + "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" } } ], "responses": { "200": { - "description": "Expected response, get details of the unlinked PA template.", + "description": "Expected response once calculation is completed.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -37803,14 +37961,28 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplateRoot" + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", + "202": { + "description": "Expected response returned if the calculation is not yet completed.", "headers": { + "X-FactSet-Api-PickUp-Progress": { + "description": "FactSet's progress header.", + "schema": { + "type": "string", + "description": "FactSet's progress header." + } + }, + "Cache-Control": { + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", + "schema": { + "type": "integer", + "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -37847,13 +38019,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" + "$ref": "#/components/schemas/CalculationStatusRoot" } } } }, - "404": { - "description": "Template not found.", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37896,27 +38068,8 @@ } } }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", + "404": { + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37950,10 +38103,17 @@ "type": "string" } } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } + } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", + "401": { + "description": "Missing or invalid authentication.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -37968,29 +38128,11 @@ "type": "string", "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } } } }, - "429": { - "description": "Rate limit reached. Wait till the time specified in Retry-After header value to make further requests.", + "403": { + "description": "User is forbidden with current credentials", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -38006,8 +38148,20 @@ "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." } }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", + "X-FactSet-Api-RateLimit-Limit": { + "description": "Number of allowed requests for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Remaining": { + "description": "Number of requests left for the time window.", + "schema": { + "type": "string" + } + }, + "X-FactSet-Api-RateLimit-Reset": { + "description": "Number of seconds remaining till rate limit resets.", "schema": { "type": "string" } @@ -38015,7 +38169,7 @@ } }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -38057,23 +38211,70 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "UnlinkedPATemplateRoot" + "response-type": "CalculationStatusRoot" + }, + { + "status-code": "202", + "response-type": "CalculationStatusRoot" } ] } }, - "/analytics/engines/pa/v3/unlinked-templates/template-types": { + "/analytics/engines/vault/v3/calculations/{id}/units/{unitId}/result": { "get": { "tags": [ - "UnlinkedPATemplates" + "VaultCalculations" + ], + "summary": "Get Vault calculation result by id", + "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", + "operationId": "getCalculationUnitResultById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint" + } + }, + { + "name": "unitId", + "in": "path", + "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint", + "required": true, + "schema": { + "type": "string", + "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint" + } + } ], - "summary": "Get default unlinked PA template types.", - "description": "This endpoint fetches default unlinked PA template types.", - "operationId": "getDefaultUnlinkedPATemplateTypes", "responses": { "200": { - "description": "Expected response, default unlinked PA template types", + "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", "headers": { + "Content-Encoding": { + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." + } + }, + "Content-Type": { + "description": "Standard HTTP header.", + "schema": { + "type": "string", + "description": "Standard HTTP header." + } + }, + "Transfer-Encoding": { + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", + "schema": { + "type": "string", + "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." + } + }, "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", "schema": { @@ -38110,200 +38311,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplateCategoryAndTypeRoot" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." + "$ref": "#/components/schemas/ObjectRoot" } }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", + "application/x-protobuf": { "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." + "$ref": "#/components/schemas/ObjectRoot" } } } }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "UnlinkedPATemplateCategoryAndTypeRoot" - } - ] - } - }, - "/analytics/engines/pa/v3/unlinked-templates/template-types/{id}": { - "get": { - "tags": [ - "UnlinkedPATemplates" - ], - "summary": "Get unlinked PA template type details by id.", - "description": "This endpoint fetches the unlinked PA template type details.", - "operationId": "getDetailsType", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Unique identifier for an unlinked PA template type", - "required": true, - "schema": { - "type": "string", - "description": "Unique identifier for an unlinked PA template type" - } - } - ], - "responses": { - "200": { - "description": "Expected response, details of the unlinked PA template type", + "400": { + "description": "Invalid identifier provided.", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -38341,49 +38360,10 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UnlinkedPATemplateCategoryAndTypeDetailsRoot" - } - } - } - }, - "400": { - "description": "Invalid data provided. Please check the request parameters before attempting again.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" + "$ref": "#/components/schemas/ClientErrorResponse" } }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { + "application/x-protobuf": { "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } @@ -38391,7 +38371,7 @@ } }, "404": { - "description": "Unlinked PA template type not found.", + "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", "headers": { "X-DataDirect-Request-Key": { "description": "FactSet's request key header.", @@ -38431,6 +38411,11 @@ "schema": { "$ref": "#/components/schemas/ClientErrorResponse" } + }, + "application/x-protobuf": { + "schema": { + "$ref": "#/components/schemas/ClientErrorResponse" + } } } }, @@ -38490,70 +38475,8 @@ } } }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", + "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.", @@ -38595,2655 +38518,87 @@ "x-success-response-types": [ { "status-code": "200", - "response-type": "UnlinkedPATemplateCategoryAndTypeDetailsRoot" + "response-type": "ObjectRoot" } ] } - }, - "/analytics/engines/vault/v3/calculations": { - "post": { - "tags": [ - "VaultCalculations" - ], - "summary": "Create and Run Vault calculation", - "description": "This endpoint runs the Vault calculation specified in the POST body parameters.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n* Start and and end date must be within the configuration's min and max date range", - "operationId": "postAndCalculate", - "parameters": [ - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the POST body.", - "schema": { - "type": "integer" - } + } + }, + "components": { + "schemas": { + "AccountDirectories": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of account and composite files." }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", - "schema": { + "directories": { + "type": "array", + "items": { "type": "string" - } + }, + "description": "List of directories." } + } + }, + "AccountDirectoriesRoot": { + "required": [ + "data" ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VaultCalculationParametersRoot" - } - } + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AccountDirectories" + }, + "meta": { } + } + }, + "ErrorSource": { + "type": "object", + "properties": { + "pointer": { + "type": "string" + }, + "parameter": { + "type": "string" } - }, - "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", - "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } - } + } + }, + "Error": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } + "detail": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/ErrorSource" + } + } + }, + "ClientErrorResponse": { + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Error" } - }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - } - } - }, - "400": { - "description": "Invalid calculation parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "One or more calculation settings were unavailable.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": true, - "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" - } - ] - }, - "get": { - "tags": [ - "VaultCalculations" - ], - "summary": "Get all calculations", - "description": "This endpoints returns all calculation requests.", - "operationId": "getAllCalculations", - "parameters": [ - { - "name": "pageNumber", - "in": "query", - "required": true, - "schema": { - "type": "integer", - "format": "int32", - "default": 1 - } - } - ], - "responses": { - "200": { - "description": "List of calculation requests.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationsSummaryRoot" - } - } - } - }, - "400": { - "description": "Invalid page number.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "No calculation found.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "406": { - "description": "Unsupported Accept header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "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.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "CalculationsSummaryRoot" - } - ] - } - }, - "/analytics/engines/vault/v3/calculations/{id}": { - "put": { - "tags": [ - "VaultCalculations" - ], - "summary": "Create or Update Vault calculation and run it.", - "description": "This endpoint updates and run the Vault calculation specified in the PUT body parameters. This also allows creating new Vault calculations with custom ids.\r\nIt can take one or more units as input.\r\n\r\nRemarks:\r\n\r\n* Start and and end date must be within the configuration's min and max date range", - "operationId": "putAndCalculate", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" - } - }, - { - "name": "X-FactSet-Api-Long-Running-Deadline", - "in": "header", - "description": "Long running deadline in seconds when only one unit is passed in the PUT body.", - "schema": { - "type": "integer" - } - }, - { - "name": "Cache-Control", - "in": "header", - "description": "Standard HTTP header. Accepts max-stale.", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Calculation Parameters", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VaultCalculationParametersRoot" - } - } - } - }, - "responses": { - "202": { - "description": "Expected response, contains the poll URL in the Location header.", - "headers": { - "Location": { - "description": "URL to poll for the resulting calculation", - "schema": { - "type": "string", - "description": "URL to poll for the resulting calculation" - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } - } - }, - "200": { - "description": "Expected response, if the calculation has one unit and is completed with an error.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } - } - }, - "201": { - "description": "Expected response if the calculation has one unit and is completed in a short span, returns JSON in the format specified in the Calculation parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - } - } - }, - "400": { - "description": "Invalid Calculation Parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "One or more calculation settings were unavailable.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "409": { - "description": "Duplicate calculation exists with same parameters.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "415": { - "description": "Missing/Invalid Content-Type header. Header needs to be set to application/json.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "429": { - "description": "Rate limit reached. Cancel older requests using Cancel Calculation endpoint or wait for older requests to finish/expire.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - }, - "Retry-After": { - "description": "Time to wait in seconds before making a new request as the rate limit has reached.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": true, - "x-success-response-types": [ - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "201", - "response-type": "ObjectRoot" - } - ] - }, - "get": { - "tags": [ - "VaultCalculations" - ], - "summary": "Get Vault calculation parameters by id", - "description": "This is the endpoint that returns the calculation parameters passed for a calculation.", - "operationId": "getCalculationParameters", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" - } - } - ], - "responses": { - "200": { - "description": "Expected response, returns the Vault calculation parameters.", - "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/VaultCalculationParametersRoot" - } - } - } - }, - "400": { - "description": "Invalid identifier provided.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "Calculation id not found", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "VaultCalculationParametersRoot" - } - ] - }, - "delete": { - "tags": [ - "VaultCalculations" - ], - "summary": "Cancel Vault calculation by id", - "description": "This is the endpoint to cancel a previously submitted calculation.", - "operationId": "cancelCalculationById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" - } - } - ], - "responses": { - "204": { - "description": "Expected response, calculation was canceled successfully.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "400": { - "description": "Invalid identifier provided.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "There was no request for the calculation identifier provided, or the request was already canceled for the provided identifier.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "204", - "response-type": null - } - ] - } - }, - "/analytics/engines/vault/v3/calculations/{id}/status": { - "get": { - "tags": [ - "VaultCalculations" - ], - "summary": "Get Vault calculation status by id", - "description": "This is the endpoint to check on the progress of a previously requested calculation.\r\nIf the calculation has finished computing, the location header will point to the result url.", - "operationId": "getCalculationStatusById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Create and Run Vault calculation endpoint" - } - } - ], - "responses": { - "200": { - "description": "Expected response once calculation is completed.", - "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } - } - }, - "202": { - "description": "Expected response returned if the calculation is not yet completed.", - "headers": { - "X-FactSet-Api-PickUp-Progress": { - "description": "FactSet's progress header.", - "schema": { - "type": "string", - "description": "FactSet's progress header." - } - }, - "Cache-Control": { - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value.", - "schema": { - "type": "integer", - "description": "Standard HTTP header. Header will specify max-age in seconds. Polling can be adjusted based on the max-age value." - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculationStatusRoot" - } - } - } - }, - "400": { - "description": "Invalid identifier provided.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "CalculationStatusRoot" - }, - { - "status-code": "202", - "response-type": "CalculationStatusRoot" - } - ] - } - }, - "/analytics/engines/vault/v3/calculations/{id}/units/{unitId}/result": { - "get": { - "tags": [ - "VaultCalculations" - ], - "summary": "Get Vault calculation result by id", - "description": "This is the endpoint to get the result of a previously requested calculation.\r\nIf the calculation has finished computing, the body of the response will contain the requested document in JSON.", - "operationId": "getCalculationUnitResultById", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint" - } - }, - { - "name": "unitId", - "in": "path", - "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint", - "required": true, - "schema": { - "type": "string", - "description": "from url, provided from the location header in the Get Vault calculation status by id endpoint" - } - } - ], - "responses": { - "200": { - "description": "Expected response once calculation is completed, returns JSON in the format specified in the Calculation parameters.", - "headers": { - "Content-Encoding": { - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value based on Accept-Encoding Request header." - } - }, - "Content-Type": { - "description": "Standard HTTP header.", - "schema": { - "type": "string", - "description": "Standard HTTP header." - } - }, - "Transfer-Encoding": { - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified.", - "schema": { - "type": "string", - "description": "Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified." - } - }, - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ObjectRoot" - } - } - } - }, - "400": { - "description": "Invalid identifier provided.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "404": { - "description": "Calculation was already returned, provided id was not a requested calculation, or the calculation was cancelled", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - }, - "application/x-protobuf": { - "schema": { - "$ref": "#/components/schemas/ClientErrorResponse" - } - } - } - }, - "401": { - "description": "Missing or invalid authentication.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "403": { - "description": "User is forbidden with current credentials", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - }, - "X-FactSet-Api-RateLimit-Limit": { - "description": "Number of allowed requests for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Remaining": { - "description": "Number of requests left for the time window.", - "schema": { - "type": "string" - } - }, - "X-FactSet-Api-RateLimit-Reset": { - "description": "Number of seconds remaining till rate limit resets.", - "schema": { - "type": "string" - } - } - } - }, - "500": { - "description": "Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - }, - "503": { - "description": "Request timed out. Retry the request in sometime.", - "headers": { - "X-DataDirect-Request-Key": { - "description": "FactSet's request key header.", - "schema": { - "type": "string", - "description": "FactSet's request key header." - } - }, - "X-FactSet-Api-Request-Key": { - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication.", - "schema": { - "type": "string", - "description": "Key to uniquely identify an Analytics API request. Only available after successful authentication." - } - } - } - } - }, - "x-are-multiple-success-responses-different": false, - "x-success-response-types": [ - { - "status-code": "200", - "response-type": "ObjectRoot" - } - ] - } - } - }, - "components": { - "schemas": { - "ReturnType": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "id": { - "type": "string" - } - }, - "additionalProperties": false - }, - "SPARAccounts": { - "type": "object", - "properties": { - "returnsType": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ReturnType" - }, - "description": "List of SPAR returnsType" - } - }, - "additionalProperties": false - }, - "SPARAccountsRoot": { - "required": [ - "data" - ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/SPARAccounts" - }, - "meta": { } - }, - "additionalProperties": false - }, - "ErrorSource": { - "type": "object", - "properties": { - "pointer": { - "type": "string" - }, - "parameter": { - "type": "string" - } - }, - "additionalProperties": false - }, - "Error": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "detail": { - "type": "string" - }, - "source": { - "$ref": "#/components/schemas/ErrorSource" - } - }, - "additionalProperties": false - }, - "ClientErrorResponse": { - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Error" - } - } - }, - "additionalProperties": false - }, - "AccountDirectories": { - "type": "object", - "properties": { - "accounts": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of account and composite files." - }, - "directories": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of directories." - } - }, - "additionalProperties": false - }, - "AccountDirectoriesRoot": { - "required": [ - "data" - ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/AccountDirectories" - }, - "meta": { } - }, - "additionalProperties": false - }, - "AFIOptimizerStrategyOverrides": { - "type": "object", - "properties": { - "objective": { - "type": "string", - "description": "Objective" + } + } + }, + "AFIOptimizerStrategyOverrides": { + "type": "object", + "properties": { + "objective": { + "type": "string", + "description": "Objective" }, "tax": { "type": "string", @@ -41268,8 +38623,7 @@ "type": "string", "description": "Transaction cost" } - }, - "additionalProperties": false + } }, "AFIOptimizerStrategy": { "required": [ @@ -41284,8 +38638,7 @@ "type": "string", "description": "OptimizerStrategy document path" } - }, - "additionalProperties": false + } }, "OptimizerAccountOverrides": { "type": "object", @@ -41306,8 +38659,7 @@ "type": "string", "description": "Currency" } - }, - "additionalProperties": false + } }, "OptimizerAccount": { "type": "object", @@ -41319,8 +38671,7 @@ "overrides": { "$ref": "#/components/schemas/OptimizerAccountOverrides" } - }, - "additionalProperties": false + } }, "Optimization": { "type": "object", @@ -41337,8 +38688,7 @@ "type": "string", "description": "Cash flow" } - }, - "additionalProperties": false + } }, "OptimizerTradesList": { "type": "object", @@ -41363,8 +38713,7 @@ "type": "boolean", "description": "Include cash" } - }, - "additionalProperties": false + } }, "OptimizerOptimalHoldings": { "type": "object", @@ -41393,8 +38742,7 @@ "type": "boolean", "description": "Exclude zero" } - }, - "additionalProperties": false + } }, "OptimalPortfolio": { "type": "object", @@ -41429,12 +38777,10 @@ "type": "string", "description": "Action if ofdb date exists" } - }, - "additionalProperties": false + } }, "OptimizerStats": { - "type": "object", - "additionalProperties": false + "type": "object" }, "OptimizerOutputTypes": { "type": "object", @@ -41451,8 +38797,7 @@ "stats": { "$ref": "#/components/schemas/OptimizerStats" } - }, - "additionalProperties": false + } }, "AFIOptimizationParameters": { "required": [ @@ -41473,12 +38818,10 @@ "outputTypes": { "$ref": "#/components/schemas/OptimizerOutputTypes" } - }, - "additionalProperties": false + } }, "OptimizerCalculationMeta": { - "type": "object", - "additionalProperties": false + "type": "object" }, "AFIOptimizationParametersRoot": { "type": "object", @@ -41489,8 +38832,7 @@ "meta": { "$ref": "#/components/schemas/OptimizerCalculationMeta" } - }, - "additionalProperties": false + } }, "CalculationInfo": { "type": "object", @@ -41499,8 +38841,7 @@ "type": "string", "description": "Calculation identifier" } - }, - "additionalProperties": false + } }, "CalculationInfoRoot": { "required": [ @@ -41512,8 +38853,7 @@ "$ref": "#/components/schemas/CalculationInfo" }, "meta": { } - }, - "additionalProperties": false + } }, "ObjectRoot": { "required": [ @@ -41523,8 +38863,7 @@ "properties": { "data": { }, "meta": { } - }, - "additionalProperties": false + } }, "AxiomaEquityOptimizerStrategyOverrides": { "type": "object", @@ -41556,8 +38895,7 @@ "type": "string", "description": "Transaction cost" } - }, - "additionalProperties": false + } }, "AxiomaEquityOptimizerStrategy": { "required": [ @@ -41572,8 +38910,7 @@ "type": "string", "description": "OptimizerStrategy document path" } - }, - "additionalProperties": false + } }, "AxiomaEquityOptimizationParameters": { "required": [ @@ -41594,8 +38931,7 @@ "outputTypes": { "$ref": "#/components/schemas/OptimizerOutputTypes" } - }, - "additionalProperties": false + } }, "AxiomaEquityOptimizationParametersRoot": { "type": "object", @@ -41606,64 +38942,7 @@ "meta": { "$ref": "#/components/schemas/OptimizerCalculationMeta" } - }, - "additionalProperties": false - }, - "SPARIdentifier": { - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "User's FactSet account OR benchmark id." - }, - "returntype": { - "type": "string", - "description": "Benchmark return type." - }, - "prefix": { - "type": "string", - "description": "Benchmark prefix." - } - }, - "additionalProperties": false, - "description": "The account/benchmark parameter for SPAR calculation." - }, - "SPARBenchmark": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Benchmark identifier" - }, - "name": { - "type": "string", - "description": "Benchmark Name" - }, - "identifiers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SPARIdentifier" - }, - "description": "List of SPAR identifiers" - } - }, - "additionalProperties": false - }, - "SPARBenchmarkRoot": { - "required": [ - "data" - ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/SPARBenchmark" - }, - "meta": { } - }, - "additionalProperties": false + } }, "ConstraintAction": { "type": "object", @@ -41678,8 +38957,7 @@ ], "type": "string" } - }, - "additionalProperties": false + } }, "BPMOptimizerStrategyAlphaOverride": { "type": "object", @@ -41700,8 +38978,7 @@ "returnMultiplier": { "type": "string" } - }, - "additionalProperties": false + } }, "BPMOptimizerStrategyOverrides": { "type": "object", @@ -41724,8 +39001,7 @@ "type": "string", "description": "Transaction cost\r\nCan be set to \"\" for local" } - }, - "additionalProperties": false + } }, "BPMOptimizerStrategy": { "required": [ @@ -41740,8 +39016,7 @@ "type": "string", "description": "OptimizerStrategy document path" } - }, - "additionalProperties": false + } }, "BPMOptimization": { "type": "object", @@ -41766,8 +39041,7 @@ "type": "string", "description": "Cash flow" } - }, - "additionalProperties": false + } }, "BPMOptimizationParameters": { "required": [ @@ -41788,8 +39062,7 @@ "outputTypes": { "$ref": "#/components/schemas/OptimizerOutputTypes" } - }, - "additionalProperties": false + } }, "BPMOptimizationParametersRoot": { "type": "object", @@ -41800,8 +39073,7 @@ "meta": { "$ref": "#/components/schemas/OptimizerCalculationMeta" } - }, - "additionalProperties": false + } }, "ColumnSummary": { "type": "object", @@ -41819,7 +39091,6 @@ "description": "Column Category" } }, - "additionalProperties": false, "description": "Column settings (name, directory, category)" }, "ColumnSummaryRoot": { @@ -41835,8 +39106,7 @@ } }, "meta": { } - }, - "additionalProperties": false + } }, "Column": { "type": "object", @@ -41860,8 +39130,7 @@ "type": "string", "description": "Column Category" } - }, - "additionalProperties": false + } }, "ColumnRoot": { "required": [ @@ -41873,8 +39142,7 @@ "$ref": "#/components/schemas/Column" }, "meta": { } - }, - "additionalProperties": false + } }, "ColumnStatistic": { "type": "object", @@ -41883,8 +39151,7 @@ "type": "string", "description": "Column Statistic Name" } - }, - "additionalProperties": false + } }, "ColumnStatisticRoot": { "required": [ @@ -41899,8 +39166,7 @@ } }, "meta": { } - }, - "additionalProperties": false + } }, "ComponentSummary": { "type": "object", @@ -41913,8 +39179,7 @@ "type": "string", "description": "Component category." } - }, - "additionalProperties": false + } }, "ComponentSummaryRoot": { "required": [ @@ -41929,8 +39194,7 @@ } }, "meta": { } - }, - "additionalProperties": false + } }, "PAIdentifier": { "required": [ @@ -41946,8 +39210,7 @@ "type": "string", "description": "Holdings Mode can be B&H, TBR, OMS or EXT." } - }, - "additionalProperties": false + } }, "PADateParameters": { "required": [ @@ -41969,7 +39232,6 @@ "description": "Calculation's frequency." } }, - "additionalProperties": false, "description": "The date parameters for PA calculation." }, "PAComponent": { @@ -42015,8 +39277,7 @@ "type": "string", "description": "Component category." } - }, - "additionalProperties": false + } }, "PAComponentRoot": { "required": [ @@ -42028,8 +39289,7 @@ "$ref": "#/components/schemas/PAComponent" }, "meta": { } - }, - "additionalProperties": false + } }, "VaultIdentifier": { "required": [ @@ -42042,7 +39302,6 @@ "description": "User's FactSet account path OR benchmark." } }, - "additionalProperties": false, "description": "The account/benchmark parameter for Vault calculation." }, "VaultDateParameters": { @@ -42065,7 +39324,6 @@ "description": "Calculation's frequency." } }, - "additionalProperties": false, "description": "The date parameters for Vault calculation" }, "VaultComponent": { @@ -42104,8 +39362,7 @@ "type": "string", "description": "Component category." } - }, - "additionalProperties": false + } }, "VaultComponentRoot": { "required": [ @@ -42117,8 +39374,7 @@ "$ref": "#/components/schemas/VaultComponent" }, "meta": { } - }, - "additionalProperties": false + } }, "VaultConfigurationSummary": { "type": "object", @@ -42127,8 +39383,7 @@ "type": "string", "description": "Configuration name." } - }, - "additionalProperties": false + } }, "VaultConfigurationSummaryRoot": { "required": [ @@ -42143,8 +39398,7 @@ } }, "meta": { } - }, - "additionalProperties": false + } }, "ConfigurationAccount": { "type": "object", @@ -42173,8 +39427,7 @@ "type": "string", "description": "Account name." } - }, - "additionalProperties": false + } }, "VaultConfiguration": { "type": "object", @@ -42189,8 +39442,7 @@ "$ref": "#/components/schemas/ConfigurationAccount" } } - }, - "additionalProperties": false + } }, "VaultConfigurationRoot": { "required": [ @@ -42202,8 +39454,7 @@ "$ref": "#/components/schemas/VaultConfiguration" }, "meta": { } - }, - "additionalProperties": false + } }, "Currency": { "type": "object", @@ -42212,8 +39463,7 @@ "type": "string", "description": "Name of currency." } - }, - "additionalProperties": false + } }, "CurrencyRoot": { "required": [ @@ -42228,8 +39478,7 @@ } }, "meta": { } - }, - "additionalProperties": false + } }, "DateParametersSummary": { "type": "object", @@ -42242,8 +39491,7 @@ "type": "string", "description": "End date in YYYYMMDD format." } - }, - "additionalProperties": false + } }, "DateParametersSummaryRoot": { "required": [ @@ -42255,8 +39503,7 @@ "$ref": "#/components/schemas/DateParametersSummary" }, "meta": { } - }, - "additionalProperties": false + } }, "FIDiscountCurveInfo": { "type": "object", @@ -42270,8 +39517,7 @@ "currency": { "type": "string" } - }, - "additionalProperties": false + } }, "FIDiscountCurveInfoRoot": { "required": [ @@ -42286,8 +39532,7 @@ } }, "meta": { } - }, - "additionalProperties": false + } }, "DocumentDirectories": { "type": "object", @@ -42306,8 +39551,7 @@ }, "description": "List of directories." } - }, - "additionalProperties": false + } }, "DocumentDirectoriesRoot": { "required": [ @@ -42319,8 +39563,7 @@ "$ref": "#/components/schemas/DocumentDirectories" }, "meta": { } - }, - "additionalProperties": false + } }, "FIABIdentifier": { "required": [ @@ -42332,8 +39575,7 @@ "type": "string", "description": "User's FactSet account path." } - }, - "additionalProperties": false + } }, "FIABDateParameters": { "required": [ @@ -42351,7 +39593,6 @@ "description": "Calculation's end date." } }, - "additionalProperties": false, "description": "The date parameters for FIAB calculations." }, "FIABCalculationParameters": { @@ -42379,8 +39620,7 @@ "type": "string", "description": "FISettingsDocument (optional) - The given @FIS document will be used to\r\nconfigure analytics assumptions and settings. Expects a GUI-style path (Client:/foo/bar)" } - }, - "additionalProperties": false + } }, "FIABCalculationStatusSummary": { "type": "object", @@ -42395,8 +39635,7 @@ "description": "Last poll time of calculation.", "format": "date-time" } - }, - "additionalProperties": false + } }, "EventSummary": { "type": "object", @@ -42414,8 +39653,7 @@ "type": "string", "description": "Event's type" } - }, - "additionalProperties": false + } }, "FIABCalculationStatus": { "type": "object", @@ -42458,8 +39696,7 @@ }, "description": "List of batch events" } - }, - "additionalProperties": false + } }, "FIReferencePrepay": { "type": "object", @@ -42468,8 +39705,7 @@ "type": "string", "description": "Reference Prepay Name" } - }, - "additionalProperties": false + } }, "FIReferenceSecurity": { "type": "object", @@ -42498,8 +39734,7 @@ "type": "string", "description": "Reference Settlement Date" } - }, - "additionalProperties": false + } }, "FIBankLoans": { "type": "object", @@ -42508,8 +39743,7 @@ "type": "boolean", "description": "Ignore Sinking Fund" } - }, - "additionalProperties": false + } }, "FIMunicipalBonds": { "type": "object", @@ -42522,8 +39756,7 @@ "type": "boolean", "description": "Anticipate Sink Schedule" } - }, - "additionalProperties": false + } }, "FILoss": { "type": "object", @@ -42532,8 +39765,7 @@ "type": "string", "description": "Loss Name" } - }, - "additionalProperties": false + } }, "FIPrepay": { "type": "object", @@ -42542,8 +39774,7 @@ "type": "string", "description": "Prepay Name" } - }, - "additionalProperties": false + } }, "FIServicerAdvancesForSecurities": { "type": "object", @@ -42569,8 +39800,7 @@ "type": "string", "description": "Advance Type" } - }, - "additionalProperties": false + } }, "FIPrepayLockout": { "type": "object", @@ -42593,8 +39823,7 @@ "type": "string", "description": "Ym Above" } - }, - "additionalProperties": false + } }, "FICashflows": { "type": "object", @@ -42621,8 +39850,7 @@ "description": "RecoveryLag", "format": "int32" } - }, - "additionalProperties": false + } }, "FIBalloonExtension": { "type": "object", @@ -42655,8 +39883,7 @@ "description": "Coupon Stepup", "format": "double" } - }, - "additionalProperties": false + } }, "FIStructuredProductsForSecurities": { "type": "object", @@ -42685,8 +39912,7 @@ "balloonExtension": { "$ref": "#/components/schemas/FIBalloonExtension" } - }, - "additionalProperties": false + } }, "FISecurity": { "required": [ @@ -42769,8 +39995,7 @@ "type": "string", "description": "Discount curve" } - }, - "additionalProperties": false + } }, "FIMunicipalBondsForJobSettings": { "type": "object", @@ -42787,8 +40012,7 @@ "type": "boolean", "description": "Anticipate Sink Schedule" } - }, - "additionalProperties": false + } }, "FIMarketEnvironment": { "type": "object", @@ -42803,8 +40027,7 @@ "description": "Rate Path", "default": "FLAT & FORWARD" } - }, - "additionalProperties": false + } }, "FIServicerAdvances": { "type": "object", @@ -42820,8 +40043,7 @@ "type": "string", "description": "Advance Type" } - }, - "additionalProperties": false + } }, "FIStructuredProductsForJobSettings": { "type": "object", @@ -42850,8 +40072,7 @@ "balloonExtension": { "$ref": "#/components/schemas/FIBalloonExtension" } - }, - "additionalProperties": false + } }, "FIJobSettings": { "required": [ @@ -42901,8 +40122,7 @@ "structuredProducts": { "$ref": "#/components/schemas/FIStructuredProductsForJobSettings" } - }, - "additionalProperties": false + } }, "FICalculationParameters": { "required": [ @@ -42929,8 +40149,7 @@ "jobSettings": { "$ref": "#/components/schemas/FIJobSettings" } - }, - "additionalProperties": false + } }, "CalculationMeta": { "type": "object", @@ -42980,8 +40199,7 @@ "type": "string", "default": "JsonStach" } - }, - "additionalProperties": false + } }, "FICalculationParametersRoot": { "type": "object", @@ -42992,8 +40210,7 @@ "meta": { "$ref": "#/components/schemas/CalculationMeta" } - }, - "additionalProperties": false + } }, "PaDoc": { "required": [ @@ -43005,8 +40222,7 @@ "type": "string", "description": "PA document path" } - }, - "additionalProperties": false + } }, "FPOAccount": { "required": [ @@ -43024,8 +40240,7 @@ "overrides": { "$ref": "#/components/schemas/OptimizerAccountOverrides" } - }, - "additionalProperties": false + } }, "FPOObjective": { "type": "object", @@ -43043,8 +40258,7 @@ "type": "string" } } - }, - "additionalProperties": false + } }, "FPOOptimizerStrategyOverrides": { "type": "object", @@ -43071,8 +40285,7 @@ "type": "string", "description": "Transaction cost" } - }, - "additionalProperties": false + } }, "FPOOptimizerStrategy": { "required": [ @@ -43087,8 +40300,7 @@ "type": "string", "description": "OptimizerStrategy document path" } - }, - "additionalProperties": false + } }, "FPOOptimizationParameters": { "required": [ @@ -43109,8 +40321,7 @@ "outputTypes": { "$ref": "#/components/schemas/OptimizerOutputTypes" } - }, - "additionalProperties": false + } }, "FPOOptimizationParametersRoot": { "type": "object", @@ -43121,8 +40332,7 @@ "meta": { "$ref": "#/components/schemas/OptimizerCalculationMeta" } - }, - "additionalProperties": false + } }, "Frequency": { "type": "object", @@ -43131,8 +40341,7 @@ "type": "string", "description": "Frequency name." } - }, - "additionalProperties": false + } }, "FrequencyRoot": { "required": [ @@ -43147,8 +40356,7 @@ } }, "meta": { } - }, - "additionalProperties": false + } }, "Group": { "type": "object", @@ -43165,8 +40373,7 @@ "type": "string", "description": "Group Category" } - }, - "additionalProperties": false + } }, "GroupRoot": { "required": [ @@ -43181,8 +40388,7 @@ } }, "meta": { } - }, - "additionalProperties": false + } }, "TemplateContentTypes": { "type": "object", @@ -43208,8 +40414,7 @@ }, "description": "Template locked fields" } - }, - "additionalProperties": false + } }, "LinkedPATemplateParameters": { "required": [ @@ -43233,8 +40438,7 @@ "content": { "$ref": "#/components/schemas/TemplateContentTypes" } - }, - "additionalProperties": false + } }, "LinkedPATemplateParametersRoot": { "required": [ @@ -43246,8 +40450,7 @@ "$ref": "#/components/schemas/LinkedPATemplateParameters" }, "meta": { } - }, - "additionalProperties": false + } }, "LinkedPATemplatePostSummary": { "type": "object", @@ -43268,8 +40471,7 @@ "type": "string", "description": "Template parent tile." } - }, - "additionalProperties": false + } }, "LinkedPATemplatePostSummaryRoot": { "required": [ @@ -43281,8 +40483,7 @@ "$ref": "#/components/schemas/LinkedPATemplatePostSummary" }, "meta": { } - }, - "additionalProperties": false + } }, "LinkedPATemplateSummary": { "type": "object", @@ -43299,8 +40500,7 @@ "type": "string", "description": "Template parent tile." } - }, - "additionalProperties": false + } }, "LinkedPATemplateSummaryRoot": { "required": [ @@ -43315,8 +40515,7 @@ } }, "meta": { } - }, - "additionalProperties": false + } }, "LinkedPATemplateUpdateParameters": { "type": "object", @@ -43332,8 +40531,7 @@ "content": { "$ref": "#/components/schemas/TemplateContentTypes" } - }, - "additionalProperties": false + } }, "LinkedPATemplateUpdateParametersRoot": { "required": [ @@ -43345,8 +40543,7 @@ "$ref": "#/components/schemas/LinkedPATemplateUpdateParameters" }, "meta": { } - }, - "additionalProperties": false + } }, "LinkedPATemplate": { "type": "object", @@ -43378,8 +40575,7 @@ "type": "string", "description": "Template parent tile." } - }, - "additionalProperties": false + } }, "LinkedPATemplateRoot": { "required": [ @@ -43391,8 +40587,7 @@ "$ref": "#/components/schemas/LinkedPATemplate" }, "meta": { } - }, - "additionalProperties": false + } }, "NPOOptimizerStrategyOverrides": { "type": "object", @@ -43421,8 +40616,7 @@ "type": "string", "description": "Alpha" } - }, - "additionalProperties": false + } }, "NPOOptimizerStrategy": { "required": [ @@ -43437,8 +40631,7 @@ "type": "string", "description": "OptimizerStrategy document path" } - }, - "additionalProperties": false + } }, "NPOOptimizationParameters": { "required": [ @@ -43459,8 +40652,7 @@ "outputTypes": { "$ref": "#/components/schemas/OptimizerOutputTypes" } - }, - "additionalProperties": false + } }, "NPOOptimizationParametersRoot": { "type": "object", @@ -43471,8 +40663,7 @@ "meta": { "$ref": "#/components/schemas/OptimizerCalculationMeta" } - }, - "additionalProperties": false + } }, "PACalculationGroup": { "type": "object", @@ -43485,8 +40676,7 @@ "type": "string", "description": "Grouping frequency" } - }, - "additionalProperties": false + } }, "PACalculationColumn": { "type": "object", @@ -43502,8 +40692,7 @@ }, "description": "Column Statistic identifier" } - }, - "additionalProperties": false + } }, "PACalculationPricingSource": { "type": "object", @@ -43512,8 +40701,7 @@ "type": "string", "description": "Pricing source identifier" } - }, - "additionalProperties": false + } }, "PACalculationDataSources": { "type": "object", @@ -43536,8 +40724,7 @@ "type": "boolean", "description": "Use portfolio pricing sources for benchmark" } - }, - "additionalProperties": false + } }, "PACalculationParameters": { "required": [ @@ -43577,997 +40764,1860 @@ "type": "string", "description": "Currency ISO code for calculation." }, - "columns": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PACalculationColumn" - }, - "description": "List of columns for the PA calculation. This will take precedence over the columns saved in the PA document." + "columns": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PACalculationColumn" + }, + "description": "List of columns for the PA calculation. This will take precedence over the columns saved in the PA document." + }, + "datasources": { + "$ref": "#/components/schemas/PACalculationDataSources" + }, + "componentdetail": { + "type": "string", + "description": "Component detail type for the PA component. It can be GROUPS or TOTALS or SECURITIES." + } + } + }, + "PACalculationParametersRoot": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/PACalculationParameters" + }, + "description": "List of calculation parameters." + }, + "meta": { + "$ref": "#/components/schemas/CalculationMeta" + } + } + }, + "CalculationUnitStatus": { + "type": "object", + "properties": { + "status": { + "enum": [ + "Queued", + "Executing", + "Success", + "Failed", + "Cancelled" + ], + "type": "string", + "description": "The status of calculation unit." + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Error" + }, + "description": "The error in a calculation unit." + }, + "result": { + "type": "string", + "description": "The result URL of the calculation." + }, + "progress": { + "type": "string", + "description": "The progress of the calculation unit." + }, + "points": { + "type": "integer", + "description": "The points for the calculation unit.", + "format": "int32" + }, + "warnings": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The warnings in a calculation unit." + } + } + }, + "CalculationStatus": { + "type": "object", + "properties": { + "calculationid": { + "type": "string", + "description": "Calculation's identifier" + }, + "status": { + "enum": [ + "Queued", + "Executing", + "Completed", + "Cancelled" + ], + "type": "string", + "description": "Calculation's status" + }, + "units": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/CalculationUnitStatus" + }, + "description": "Number of calculation units in batch." + } + } + }, + "CalculationUnitStatusMeta": { + "type": "object", + "properties": { + "info": { + "type": "string", + "description": "The Info URL of the calculation." + } + } + }, + "CalculationStatusMeta": { + "type": "object", + "properties": { + "units": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/CalculationUnitStatusMeta" + }, + "description": "Meta of calculation units in batch." + } + } + }, + "CalculationStatusRoot": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/CalculationStatus" + }, + "meta": { + "$ref": "#/components/schemas/CalculationStatusMeta" + } + } + }, + "CalculationsSummary": { + "type": "object", + "properties": { + "status": { + "enum": [ + "Queued", + "Executing", + "Completed", + "Cancelled" + ], + "type": "string", + "description": "Last poll status of the calculation." + }, + "units": { + "type": "integer", + "description": "Number of calculation units in batch.", + "format": "int32" + }, + "requestTime": { + "type": "string", + "description": "Request time of calculation.", + "format": "date-time" + }, + "lastPollTime": { + "type": "string", + "description": "Last poll time of calculation.", + "format": "date-time" + } + } + }, + "PaginationInfo": { + "type": "object", + "properties": { + "pageNumber": { + "type": "integer", + "format": "int32" + }, + "pageSize": { + "type": "integer", + "format": "int32" + }, + "totalPages": { + "type": "integer", + "format": "int32" + }, + "totalCalculations": { + "type": "integer", + "format": "int32" + }, + "nextPage": { + "type": "string" + }, + "previousPage": { + "type": "string" + } + } + }, + "PaginationMeta": { + "type": "object", + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationInfo" + } + } + }, + "CalculationsSummaryRoot": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/CalculationsSummary" + }, + "meta": { + "$ref": "#/components/schemas/PaginationMeta" + } + } + }, + "PAPricingSource": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Pricing source Name" + }, + "directory": { + "type": "string", + "description": "Pricing source directory" + }, + "category": { + "type": "string", + "description": "Pricing source category" + } + } + }, + "PAPricingSourceRoot": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/PAPricingSource" + } + }, + "meta": { } + } + }, + "PubIdentifier": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "User's FactSet account path OR benchmark." + }, + "holdingsmode": { + "type": "string", + "description": "Holdings Mode can be B&H, TBR, OMS or EXT." + } + } + }, + "PubDateParameters": { + "required": [ + "enddate" + ], + "type": "object", + "properties": { + "startdate": { + "type": "string", + "description": "Calculation's start date." + }, + "enddate": { + "type": "string", + "description": "Calculation's end date or as of date." + } + }, + "description": "The date parameters for Publisher calculation." + }, + "PubCalculationParameters": { + "required": [ + "account", + "dates", + "document" + ], + "type": "object", + "properties": { + "document": { + "type": "string", + "description": "The Publisher Engine document to analyze." + }, + "account": { + "$ref": "#/components/schemas/PubIdentifier" + }, + "dates": { + "$ref": "#/components/schemas/PubDateParameters" + } + } + }, + "PubCalculationMeta": { + "type": "object" + }, + "PubCalculationParametersRoot": { + "type": "object", + "properties": { + "data": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/PubCalculationParameters" + }, + "description": "List of calculation parameters." + }, + "meta": { + "$ref": "#/components/schemas/PubCalculationMeta" + } + } + }, + "QuantScreeningExpressionUniverse": { + "required": [ + "universeExpr", + "universeType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantUniverse" + } + ], + "properties": { + "universeExpr": { + "type": "string" + }, + "universeType": { + "enum": [ + "Equity", + "Debt" + ], + "type": "string" + }, + "securityExpr": { + "type": "string" + } + } + }, + "QuantIdentifierUniverse": { + "required": [ + "identifiers", + "universeType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantUniverse" + } + ], + "properties": { + "universeType": { + "enum": [ + "Equity", + "Debt" + ], + "type": "string" + }, + "identifiers": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "QuantUniverse": { + "required": [ + "source" + ], + "type": "object", + "properties": { + "source": { + "enum": [ + "ScreeningExpressionUniverse", + "UniversalScreenUniverse", + "IdentifierUniverse" + ], + "type": "string" + } + } + }, + "QuantUniversalScreenUniverse": { + "required": [ + "screen" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantUniverse" + } + ], + "properties": { + "screen": { + "type": "string" + } + } + }, + "QuantDateList": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantDate" + } + ], + "properties": { + "dates": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "QuantDate": { + "required": [ + "calendar", + "frequency", + "source" + ], + "type": "object", + "properties": { + "source": { + "enum": [ + "FdsDate", + "DateList" + ], + "type": "string" + }, + "frequency": { + "type": "string" }, - "datasources": { - "$ref": "#/components/schemas/PACalculationDataSources" + "calendar": { + "type": "string" }, - "componentdetail": { - "type": "string", - "description": "Component detail type for the PA component. It can be GROUPS or TOTALS or SECURITIES." + "overrideUniversalScreenCalendar": { + "type": "boolean" } - }, - "additionalProperties": false + } }, - "PACalculationParametersRoot": { + "QuantFdsDate": { + "required": [ + "endDate", + "startDate" + ], "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantDate" + } + ], "properties": { - "data": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/PACalculationParameters" - }, - "description": "List of calculation parameters." + "startDate": { + "type": "string" }, - "meta": { - "$ref": "#/components/schemas/CalculationMeta" + "endDate": { + "type": "string" } - }, - "additionalProperties": false + } }, - "CalculationUnitStatus": { + "QuantFqlExpression": { + "required": [ + "expr", + "name" + ], "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantFormula" + } + ], "properties": { - "status": { - "enum": [ - "Queued", - "Executing", - "Success", - "Failed", - "Cancelled" - ], - "type": "string", - "description": "The status of calculation unit." - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Error" - }, - "description": "The error in a calculation unit." + "expr": { + "type": "string" }, - "result": { - "type": "string", - "description": "The result URL of the calculation." + "name": { + "type": "string" }, - "progress": { - "type": "string", - "description": "The progress of the calculation unit." + "dateOffset": { + "type": "string" }, - "points": { - "type": "integer", - "description": "The points for the calculation unit.", - "format": "int32" + "isArrayReturnType": { + "type": "boolean" } - }, - "additionalProperties": false + } }, - "CalculationStatus": { + "QuantUniversalScreenParameter": { + "required": [ + "name", + "referenceName" + ], "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantFormula" + } + ], "properties": { - "calculationid": { - "type": "string", - "description": "Calculation's identifier" - }, - "status": { - "enum": [ - "Queued", - "Executing", - "Completed", - "Cancelled" - ], - "type": "string", - "description": "Calculation's status" + "referenceName": { + "type": "string" }, - "units": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/CalculationUnitStatus" - }, - "description": "Number of calculation units in batch." + "name": { + "type": "string" } - }, - "additionalProperties": false + } }, - "CalculationUnitStatusMeta": { + "QuantAllUniversalScreenParameters": { "type": "object", - "properties": { - "info": { - "type": "string", - "description": "The Info URL of the calculation." + "allOf": [ + { + "$ref": "#/components/schemas/QuantFormula" } - }, - "additionalProperties": false + ] }, - "CalculationStatusMeta": { + "QuantFormula": { + "required": [ + "source" + ], "type": "object", "properties": { - "units": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/CalculationUnitStatusMeta" - }, - "description": "Meta of calculation units in batch." + "source": { + "enum": [ + "ScreeningExpression", + "FqlExpression", + "UniversalScreenParameter", + "AllUniversalScreenParameters" + ], + "type": "string" } - }, - "additionalProperties": false + } }, - "CalculationStatusRoot": { + "QuantScreeningExpression": { "required": [ - "data" + "expr", + "name" ], "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/QuantFormula" + } + ], "properties": { - "data": { - "$ref": "#/components/schemas/CalculationStatus" + "expr": { + "type": "string" }, - "meta": { - "$ref": "#/components/schemas/CalculationStatusMeta" + "name": { + "type": "string" + }, + "dateOffset": { + "type": "string" } - }, - "additionalProperties": false + } }, - "CalculationsSummary": { + "QuantScreeningExpressionUniverseObsolete": { + "required": [ + "universeExpr", + "universeType" + ], "type": "object", "properties": { - "status": { + "universeExpr": { + "type": "string" + }, + "universeType": { "enum": [ - "Queued", - "Executing", - "Completed", - "Cancelled" + "Equity", + "Debt" ], - "type": "string", - "description": "Last poll status of the calculation." - }, - "units": { - "type": "integer", - "description": "Number of calculation units in batch.", - "format": "int32" + "type": "string" }, - "requestTime": { - "type": "string", - "description": "Request time of calculation.", - "format": "date-time" + "securityExpr": { + "type": "string" }, - "lastPollTime": { - "type": "string", - "description": "Last poll time of calculation.", - "format": "date-time" + "source": { + "enum": [ + "ScreeningExpressionUniverse", + "UniversalScreenUniverse", + "IdentifierUniverse" + ], + "type": "string" } - }, - "additionalProperties": false + } }, - "PaginationInfo": { + "QuantUniversalScreenUniverseObsolete": { + "required": [ + "screen" + ], "type": "object", "properties": { - "pageNumber": { - "type": "integer", - "format": "int32" - }, - "pageSize": { - "type": "integer", - "format": "int32" - }, - "totalPages": { - "type": "integer", - "format": "int32" - }, - "totalCalculations": { - "type": "integer", - "format": "int32" - }, - "nextPage": { + "screen": { "type": "string" }, - "previousPage": { + "source": { + "enum": [ + "ScreeningExpressionUniverse", + "UniversalScreenUniverse", + "IdentifierUniverse" + ], "type": "string" } - }, - "additionalProperties": false + } }, - "PaginationMeta": { + "QuantIdentifierUniverseObsolete": { + "required": [ + "identifiers", + "universeType" + ], "type": "object", "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationInfo" + "universeType": { + "enum": [ + "Equity", + "Debt" + ], + "type": "string" + }, + "identifiers": { + "type": "array", + "items": { + "type": "string" + } + }, + "source": { + "enum": [ + "ScreeningExpressionUniverse", + "UniversalScreenUniverse", + "IdentifierUniverse" + ], + "type": "string" } - }, - "additionalProperties": false + } }, - "CalculationsSummaryRoot": { + "QuantFdsDateObsolete": { "required": [ - "data" + "calendar", + "endDate", + "frequency", + "startDate" ], "type": "object", "properties": { - "data": { - "$ref": "#/components/schemas/CalculationsSummary" + "startDate": { + "type": "string" }, - "meta": { - "$ref": "#/components/schemas/PaginationMeta" + "endDate": { + "type": "string" + }, + "frequency": { + "type": "string" + }, + "calendar": { + "type": "string" + }, + "overrideUniversalScreenCalendar": { + "type": "boolean" } - }, - "additionalProperties": false + } }, - "PAPricingSource": { + "QuantDateListObsolete": { + "required": [ + "calendar", + "frequency" + ], "type": "object", "properties": { - "name": { - "type": "string", - "description": "Pricing source Name" + "dates": { + "type": "array", + "items": { + "type": "string" + } }, - "directory": { - "type": "string", - "description": "Pricing source directory" + "frequency": { + "type": "string" }, - "category": { - "type": "string", - "description": "Pricing source category" + "calendar": { + "type": "string" + }, + "overrideUniversalScreenCalendar": { + "type": "boolean" } - }, - "additionalProperties": false + } }, - "PAPricingSourceRoot": { + "QuantScreeningExpressionObsolete": { "required": [ - "data" + "expr", + "name" ], "type": "object", "properties": { - "data": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/PAPricingSource" - } + "expr": { + "type": "string" }, - "meta": { } - }, - "additionalProperties": false + "name": { + "type": "string" + }, + "dateOffset": { + "type": "string" + } + } }, - "PubIdentifier": { + "QuantFqlExpressionObsolete": { "required": [ - "id" + "expr", + "name" ], "type": "object", "properties": { - "id": { - "type": "string", - "description": "User's FactSet account path OR benchmark." + "expr": { + "type": "string" }, - "holdingsmode": { - "type": "string", - "description": "Holdings Mode can be B&H, TBR, OMS or EXT." + "name": { + "type": "string" + }, + "dateOffset": { + "type": "string" + }, + "isArrayReturnType": { + "type": "boolean" } - }, - "additionalProperties": false + } }, - "PubDateParameters": { + "QuantUniversalScreenParameterObsolete": { "required": [ - "enddate" + "name", + "referenceName" ], "type": "object", "properties": { - "startdate": { - "type": "string", - "description": "Calculation's start date." + "referenceName": { + "type": "string" }, - "enddate": { - "type": "string", - "description": "Calculation's end date or as of date." + "name": { + "type": "string" } - }, - "additionalProperties": false, - "description": "The date parameters for Publisher calculation." + } }, - "PubCalculationParameters": { - "required": [ - "account", - "dates", - "document" - ], + "QuantAllUniversalScreenParametersObsolete": { + "type": "object" + }, + "QuantCalculationParameters": { "type": "object", "properties": { - "document": { + "universe": { + "oneOf": [ + { + "$ref": "#/components/schemas/QuantUniversalScreenUniverse" + }, + { + "$ref": "#/components/schemas/QuantScreeningExpressionUniverse" + }, + { + "$ref": "#/components/schemas/QuantIdentifierUniverse" + } + ], + "discriminator": { + "propertyName": "source", + "mapping": { + "UniversalScreenUniverse": "#/components/schemas/QuantUniversalScreenUniverse", + "ScreeningExpressionUniverse": "#/components/schemas/QuantScreeningExpressionUniverse", + "IdentifierUniverse": "#/components/schemas/QuantIdentifierUniverse" + } + } + }, + "dates": { + "oneOf": [ + { + "$ref": "#/components/schemas/QuantFdsDate" + }, + { + "$ref": "#/components/schemas/QuantDateList" + } + ], + "discriminator": { + "propertyName": "source", + "mapping": { + "FdsDate": "#/components/schemas/QuantFdsDate", + "DateList": "#/components/schemas/QuantDateList" + } + } + }, + "formulas": { + "type": "array", + "items": { + "oneOf": [ + { + "$ref": "#/components/schemas/QuantScreeningExpression" + }, + { + "$ref": "#/components/schemas/QuantFqlExpression" + }, + { + "$ref": "#/components/schemas/QuantUniversalScreenParameter" + }, + { + "$ref": "#/components/schemas/QuantAllUniversalScreenParameters" + } + ], + "discriminator": { + "propertyName": "source", + "mapping": { + "ScreeningExpression": "#/components/schemas/QuantScreeningExpression", + "FqlExpression": "#/components/schemas/QuantFqlExpression", + "UniversalScreenParameter": "#/components/schemas/QuantUniversalScreenParameter", + "AllUniversalScreenParameters": "#/components/schemas/QuantAllUniversalScreenParameters" + } + } + } + }, + "jobDescription": { + "type": "string" + } + } + }, + "QuantCalculationMeta": { + "type": "object", + "properties": { + "allowArrayData": { + "type": "boolean" + }, + "contentorganization": { + "enum": [ + "None", + "Row", + "Column", + "SimplifiedRow" + ], + "type": "string", + "default": "SimplifiedRow", + "deprecated": true + }, + "stachContentOrganization": { + "enum": [ + "None", + "Row", + "Column", + "SimplifiedRow" + ], + "type": "string", + "default": "SimplifiedRow" + }, + "contenttype": { + "enum": [ + "Json", + "Binary" + ], "type": "string", - "description": "The Publisher Engine document to analyze." - }, - "account": { - "$ref": "#/components/schemas/PubIdentifier" + "default": "Json", + "deprecated": true }, - "dates": { - "$ref": "#/components/schemas/PubDateParameters" + "format": { + "enum": [ + "JsonStach", + "Table", + "Tableau", + "BinaryStach", + "Bison", + "Binary", + "Pdf", + "Pptx", + "Feather" + ], + "type": "string", + "default": "JsonStach" } - }, - "additionalProperties": false - }, - "PubCalculationMeta": { - "type": "object", - "additionalProperties": false + } }, - "PubCalculationParametersRoot": { + "QuantCalculationParametersRoot": { "type": "object", "properties": { "data": { "type": "object", "additionalProperties": { - "$ref": "#/components/schemas/PubCalculationParameters" + "$ref": "#/components/schemas/QuantCalculationParameters" }, "description": "List of calculation parameters." }, "meta": { - "$ref": "#/components/schemas/PubCalculationMeta" + "$ref": "#/components/schemas/QuantCalculationMeta" } - }, - "additionalProperties": false + } }, - "QuantScreeningExpressionUniverse": { + "SMRetrieveParameters": { "required": [ - "universeExpr", - "universeType" + "securityName" ], "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/QuantUniverse" - } - ], "properties": { - "universeExpr": { + "securityName": { "type": "string" }, - "universeType": { - "enum": [ - "Equity", - "Debt" - ], + "location": { "type": "string" }, - "securityExpr": { + "asofdate": { + "type": "string" + }, + "securityType": { + "enum": [ + "Bond", + "CCF" + ], "type": "string" } - }, - "additionalProperties": false + } }, - "QuantIdentifierUniverse": { + "SMRetrieveParametersRoot": { "required": [ - "identifiers", - "universeType" + "data" ], + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMRetrieveParameters" + } + }, + "meta": { } + } + }, + "SMCustomCashFlowFields": { "type": "object", "allOf": [ { - "$ref": "#/components/schemas/QuantUniverse" + "$ref": "#/components/schemas/SMFields" } ], "properties": { - "universeType": { - "enum": [ - "Equity", - "Debt" - ], + "cashFlowAmounts": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "cashFlowDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "country": { "type": "string" }, - "identifiers": { + "currency": { + "type": "string" + }, + "issueName": { + "type": "string" + }, + "parAmt": { + "type": "number", + "format": "double" + }, + "parentName": { + "type": "string" + }, + "ratingFitch": { + "type": "string" + }, + "ratingFitchDates": { "type": "array", "items": { "type": "string" } + }, + "ratingFitchValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingMoodysDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingMoodysValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingSpDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingSpValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "secondaryToVendorFlag": { + "type": "boolean" + }, + "sector": { + "type": "string" + }, + "sectorBarclay1": { + "type": "string" + }, + "sectorBarclay2": { + "type": "string" + }, + "sectorBarclay3": { + "type": "string" + }, + "sectorBarclay4": { + "type": "string" + }, + "sectorDef": { + "type": "string" + }, + "sectorIndustry": { + "type": "string" + }, + "sectorMain": { + "type": "string" + }, + "sectorMerrill1": { + "type": "string" + }, + "sectorMerrill2": { + "type": "string" + }, + "sectorMerrill3": { + "type": "string" + }, + "sectorMerrill4": { + "type": "string" + }, + "sectorSubGroup": { + "type": "string" + }, + "vendorCoverageDate": { + "type": "string" } - }, - "additionalProperties": false + } }, - "QuantUniverse": { + "SMFields": { "required": [ - "source" + "securityType" ], "type": "object", "properties": { - "source": { + "securityType": { "enum": [ - "ScreeningExpressionUniverse", - "UniversalScreenUniverse", - "IdentifierUniverse" + "Bond", + "CCF" ], "type": "string" } - }, - "additionalProperties": false + } }, - "QuantUniversalScreenUniverse": { - "required": [ - "screen" - ], + "SMBondFields": { "type": "object", "allOf": [ { - "$ref": "#/components/schemas/QuantUniverse" + "$ref": "#/components/schemas/SMFields" } ], "properties": { - "screen": { + "144aFlag": { + "type": "boolean" + }, + "aperiodicMultipliers": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "aperiodicResetDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "aperiodicSpreads": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "businessDayConv": { "type": "string" - } - }, - "additionalProperties": false - }, - "QuantDateList": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/QuantDate" - } - ], - "properties": { - "dates": { + }, + "callAnnouncedDate": { + "type": "string" + }, + "callDates": { "type": "array", "items": { "type": "string" } - } - }, - "additionalProperties": false - }, - "QuantDate": { - "required": [ - "calendar", - "frequency", - "source" - ], - "type": "object", - "properties": { - "source": { - "enum": [ - "FdsDate", - "DateList" - ], + }, + "callFreq": { "type": "string" }, - "frequency": { + "callNoticeDays": { + "type": "integer", + "format": "int32" + }, + "callPrices": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "cashRate": { + "type": "number", + "format": "double" + }, + "cognity": { "type": "string" }, - "calendar": { + "conversionIdentifier": { "type": "string" }, - "overrideUniversalScreenCalendar": { + "conversionRatio": { + "type": "number", + "format": "double" + }, + "conversionType": { + "type": "string" + }, + "convertibleFlag": { "type": "boolean" - } - }, - "additionalProperties": false - }, - "QuantFdsDate": { - "required": [ - "endDate", - "startDate" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/QuantDate" - } - ], - "properties": { - "startDate": { + }, + "country": { "type": "string" }, - "endDate": { + "coupon": { + "type": "number", + "format": "double" + }, + "couponType": { "type": "string" - } - }, - "additionalProperties": false - }, - "QuantFqlExpression": { - "required": [ - "expr", - "name" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/QuantFormula" - } - ], - "properties": { - "expr": { + }, + "creditSpreadAdjustmentSingle": { + "type": "number", + "format": "double" + }, + "currency": { "type": "string" }, - "name": { + "dayCountBasis": { "type": "string" }, - "dateOffset": { + "defaultedDate": { "type": "string" }, - "isArrayReturnType": { + "federalTaxExemptFlag": { "type": "boolean" - } - }, - "additionalProperties": false - }, - "QuantUniversalScreenParameter": { - "required": [ - "name", - "referenceName" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/QuantFormula" - } - ], - "properties": { - "referenceName": { + }, + "firstPayDate": { "type": "string" }, - "name": { + "firstResetDate": { "type": "string" - } - }, - "additionalProperties": false - }, - "QuantAllUniversalScreenParameters": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/QuantFormula" - } - ], - "additionalProperties": false - }, - "QuantFormula": { - "required": [ - "source" - ], - "type": "object", - "properties": { - "source": { - "enum": [ - "ScreeningExpression", - "FqlExpression", - "UniversalScreenParameter", - "AllUniversalScreenParameters" - ], + }, + "floatFormula": { + "type": "string" + }, + "fltDayCountBasis": { + "type": "string" + }, + "fltFirstPayDate": { + "type": "string" + }, + "fltPayFreq": { + "type": "string" + }, + "histCouponDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "histCoupons": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "histRcvAssumpDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "histRcvAssumpMonths": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "histRcvAssumpRates": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "histRcvAssumpTargetDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "inflationType": { + "type": "string" + }, + "issueDate": { + "type": "string" + }, + "issueName": { + "type": "string" + }, + "issuerId": { + "type": "string" + }, + "lastModifiedSource": { + "type": "string" + }, + "lastModifiedSourceMeta": { + "type": "string" + }, + "lastModifiedTime": { + "type": "string" + }, + "lifeCap": { + "type": "number", + "format": "double" + }, + "lifeFloor": { + "type": "number", + "format": "double" + }, + "lockoutDays": { + "type": "integer", + "format": "int32" + }, + "lookBackDays": { + "type": "integer", + "format": "int32" + }, + "makeWholeCallFlag": { + "type": "boolean" + }, + "makeWholeExpireDate": { + "type": "string" + }, + "makeWholeSpread": { + "type": "number", + "format": "double" + }, + "matrixDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "matrixMultipliers": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "matrixPricedFlag": { + "type": "boolean" + }, + "matrixSpreads": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "matrixUseScheduleFlag": { + "type": "boolean" + }, + "maturityDate": { + "type": "string" + }, + "maturityPrice": { + "type": "number", + "format": "double" + }, + "monthsToRecovery": { + "type": "number", + "format": "double" + }, + "multiplier": { + "type": "number", + "format": "double" + }, + "notionalFlag": { + "type": "boolean" + }, + "observationShift": { + "type": "integer", + "format": "int32" + }, + "origAmtIssued": { + "type": "number", + "format": "double" + }, + "parentName": { + "type": "string" + }, + "parPrice": { + "type": "number", + "format": "double" + }, + "parserInfo": { + "type": "string" + }, + "paymentDelay": { + "type": "integer", + "format": "int32" + }, + "payFreq": { + "type": "string" + }, + "periodCap": { + "type": "number", + "format": "double" + }, + "periodFloor": { + "type": "number", + "format": "double" + }, + "pikExpDate": { + "type": "string" + }, + "pikRate": { + "type": "integer", + "format": "int32" + }, + "preferredSecExDateLen": { + "type": "integer", + "format": "int32" + }, + "preferredSecExDateUnits": { + "type": "string" + }, + "preferredSecFlag": { + "type": "boolean" + }, + "preferredSecType": { + "type": "string" + }, + "principalType": { + "type": "string" + }, + "putDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "putNoticeDays": { + "type": "integer", + "format": "int32" + }, + "putFreq": { + "type": "string" + }, + "putPrices": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "pvtPlacementFlag": { + "type": "boolean" + }, + "ratingFitch": { + "type": "string" + }, + "ratingFitchDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingFitchValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingMoodysDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingMoodysValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingSpDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "ratingSpValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "recoveryPercentage": { + "type": "number", + "format": "double" + }, + "redemptionDate": { + "type": "string" + }, + "redemptionOpt": { "type": "string" - } - }, - "additionalProperties": false - }, - "QuantScreeningExpression": { - "required": [ - "expr", - "name" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/QuantFormula" - } - ], - "properties": { - "expr": { + }, + "redemptionPrice": { + "type": "number", + "format": "double" + }, + "reinstatedDate": { "type": "string" }, - "name": { + "resetDelay": { + "type": "integer", + "format": "int32" + }, + "resetFreq": { "type": "string" }, - "dateOffset": { + "refIndex": { "type": "string" - } - }, - "additionalProperties": false - }, - "QuantScreeningExpressionUniverseObsolete": { - "required": [ - "universeExpr", - "universeType" - ], - "type": "object", - "properties": { - "universeExpr": { + }, + "secondaryToVendorFlag": { + "type": "boolean" + }, + "sector": { "type": "string" }, - "universeType": { - "enum": [ - "Equity", - "Debt" - ], + "sectorBarclay1": { "type": "string" }, - "securityExpr": { + "sectorBarclay2": { "type": "string" }, - "source": { - "enum": [ - "ScreeningExpressionUniverse", - "UniversalScreenUniverse", - "IdentifierUniverse" - ], + "sectorBarclay3": { "type": "string" - } - }, - "additionalProperties": false - }, - "QuantUniversalScreenUniverseObsolete": { - "required": [ - "screen" - ], - "type": "object", - "properties": { - "screen": { + }, + "sectorBarclay4": { "type": "string" }, - "source": { - "enum": [ - "ScreeningExpressionUniverse", - "UniversalScreenUniverse", - "IdentifierUniverse" - ], + "sectorDef": { "type": "string" - } - }, - "additionalProperties": false - }, - "QuantIdentifierUniverseObsolete": { - "required": [ - "identifiers", - "universeType" - ], - "type": "object", - "properties": { - "universeType": { - "enum": [ - "Equity", - "Debt" - ], + }, + "sectorIndustry": { "type": "string" }, - "identifiers": { - "type": "array", - "items": { - "type": "string" - } + "sectorMain": { + "type": "string" }, - "source": { - "enum": [ - "ScreeningExpressionUniverse", - "UniversalScreenUniverse", - "IdentifierUniverse" - ], + "sectorMerrill1": { "type": "string" - } - }, - "additionalProperties": false - }, - "QuantFdsDateObsolete": { - "required": [ - "calendar", - "endDate", - "frequency", - "startDate" - ], - "type": "object", - "properties": { - "startDate": { + }, + "sectorMerrill2": { "type": "string" }, - "endDate": { + "sectorMerrill3": { "type": "string" }, - "frequency": { + "sectorMerrill4": { "type": "string" }, - "calendar": { + "sectorSubGroup": { "type": "string" }, - "overrideUniversalScreenCalendar": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "QuantDateListObsolete": { - "required": [ - "calendar", - "frequency" - ], - "type": "object", - "properties": { - "dates": { + "sinkAmts": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "sinkDates": { "type": "array", "items": { "type": "string" } }, - "frequency": { + "spread": { + "type": "number", + "format": "double" + }, + "state": { "type": "string" }, - "calendar": { + "status": { "type": "string" }, - "overrideUniversalScreenCalendar": { + "statusDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "statusValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "stepCashRates": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "stepCouponDates": { + "type": "array", + "items": { + "type": "string" + } + }, + "stepCoupons": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "stepPikRates": { + "type": "array", + "items": { + "type": "number", + "format": "double" + } + }, + "vendorCoverageDate": { + "type": "string" + }, + "vRDNFlag": { "type": "boolean" } - }, - "additionalProperties": false + } }, - "QuantScreeningExpressionObsolete": { - "required": [ - "expr", - "name" - ], + "SMError": { "type": "object", "properties": { - "expr": { - "type": "string" - }, - "name": { - "type": "string" - }, - "dateOffset": { + "detail": { "type": "string" } - }, - "additionalProperties": false + } }, - "QuantFqlExpressionObsolete": { - "required": [ - "expr", - "name" - ], + "SMRetrieveResponse": { "type": "object", "properties": { - "expr": { + "securityName": { "type": "string" }, - "name": { + "status": { + "enum": [ + "success", + "failure" + ], "type": "string" }, - "dateOffset": { + "location": { "type": "string" }, - "isArrayReturnType": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "QuantUniversalScreenParameterObsolete": { - "required": [ - "name", - "referenceName" - ], - "type": "object", - "properties": { - "referenceName": { + "asofdate": { "type": "string" }, - "name": { - "type": "string" - } - }, - "additionalProperties": false - }, - "QuantAllUniversalScreenParametersObsolete": { - "type": "object", - "additionalProperties": false - }, - "QuantCalculationParameters": { - "type": "object", - "properties": { - "universe": { + "fields": { "oneOf": [ { - "$ref": "#/components/schemas/QuantUniversalScreenUniverse" - }, - { - "$ref": "#/components/schemas/QuantScreeningExpressionUniverse" + "$ref": "#/components/schemas/SMBondFields" }, { - "$ref": "#/components/schemas/QuantIdentifierUniverse" + "$ref": "#/components/schemas/SMCustomCashFlowFields" } ], "discriminator": { - "propertyName": "source", + "propertyName": "securityType", "mapping": { - "UniversalScreenUniverse": "#/components/schemas/QuantUniversalScreenUniverse", - "ScreeningExpressionUniverse": "#/components/schemas/QuantScreeningExpressionUniverse", - "IdentifierUniverse": "#/components/schemas/QuantIdentifierUniverse" + "Bond": "#/components/schemas/SMBondFields", + "CCF": "#/components/schemas/SMCustomCashFlowFields" } } }, - "dates": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMError" + } + } + } + }, + "SMRetrieveResponseRoot": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMRetrieveResponse" + } + }, + "meta": { } + } + }, + "SMCreateParameters": { + "required": [ + "fields", + "securityName" + ], + "type": "object", + "properties": { + "securityName": { + "type": "string" + }, + "location": { + "type": "string" + }, + "asofdate": { + "type": "string" + }, + "fields": { "oneOf": [ { - "$ref": "#/components/schemas/QuantFdsDate" + "$ref": "#/components/schemas/SMBondFields" }, { - "$ref": "#/components/schemas/QuantDateList" + "$ref": "#/components/schemas/SMCustomCashFlowFields" } ], "discriminator": { - "propertyName": "source", + "propertyName": "securityType", "mapping": { - "FdsDate": "#/components/schemas/QuantFdsDate", - "DateList": "#/components/schemas/QuantDateList" + "Bond": "#/components/schemas/SMBondFields", + "CCF": "#/components/schemas/SMCustomCashFlowFields" } } - }, - "formulas": { + } + } + }, + "SMCreateParametersRoot": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { "type": "array", "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/QuantScreeningExpression" - }, - { - "$ref": "#/components/schemas/QuantFqlExpression" - }, - { - "$ref": "#/components/schemas/QuantUniversalScreenParameter" - }, - { - "$ref": "#/components/schemas/QuantAllUniversalScreenParameters" - } - ], - "discriminator": { - "propertyName": "source", - "mapping": { - "ScreeningExpression": "#/components/schemas/QuantScreeningExpression", - "FqlExpression": "#/components/schemas/QuantFqlExpression", - "UniversalScreenParameter": "#/components/schemas/QuantUniversalScreenParameter", - "AllUniversalScreenParameters": "#/components/schemas/QuantAllUniversalScreenParameters" - } - } + "$ref": "#/components/schemas/SMCreateParameters" } }, - "jobDescription": { + "meta": { } + } + }, + "SMWarning": { + "type": "object", + "properties": { + "detail": { "type": "string" } - }, - "additionalProperties": false + } }, - "QuantCalculationMeta": { + "SMCreateResponse": { "type": "object", "properties": { - "allowArrayData": { - "type": "boolean" - }, - "contentorganization": { - "enum": [ - "None", - "Row", - "Column", - "SimplifiedRow" - ], - "type": "string", - "default": "SimplifiedRow", - "deprecated": true + "securityName": { + "type": "string" }, - "stachContentOrganization": { + "status": { "enum": [ - "None", - "Row", - "Column", - "SimplifiedRow" + "success", + "failure" ], - "type": "string", - "default": "SimplifiedRow" + "type": "string" }, - "contenttype": { - "enum": [ - "Json", - "Binary" - ], - "type": "string", - "default": "Json", - "deprecated": true + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMWarning" + } }, - "format": { - "enum": [ - "JsonStach", - "Table", - "Tableau", - "BinaryStach", - "Bison", - "Binary", - "Pdf", - "Pptx", - "Feather" - ], - "type": "string", - "default": "JsonStach" + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMError" + } } - }, - "additionalProperties": false + } }, - "QuantCalculationParametersRoot": { + "SMCreateResponseRoot": { + "required": [ + "data" + ], "type": "object", "properties": { "data": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/QuantCalculationParameters" - }, - "description": "List of calculation parameters." + "type": "array", + "items": { + "$ref": "#/components/schemas/SMCreateResponse" + } }, - "meta": { - "$ref": "#/components/schemas/QuantCalculationMeta" - } - }, - "additionalProperties": false + "meta": { } + } }, - "SPARDateParameters": { + "SMDeleteParameters": { "required": [ - "enddate", - "frequency", - "startdate" + "securityName" ], "type": "object", "properties": { - "startdate": { - "type": "string", - "description": "Calculation's start date." + "securityName": { + "type": "string" }, - "enddate": { - "type": "string", - "description": "Calculation's end date." + "location": { + "type": "string" }, - "frequency": { - "type": "string", - "description": "Calculation's frequency." + "asofdate": { + "type": "string" + }, + "securityType": { + "enum": [ + "Bond", + "CCF" + ], + "type": "string" } - }, - "additionalProperties": false, - "description": "The date parameters for SPAR calculation." + } }, - "SPARCalculationParameters": { + "SMDeleteParametersRoot": { "required": [ - "componentid" + "data" ], "type": "object", "properties": { - "componentid": { - "type": "string", - "description": "The SPAR Engine component identifier to analyze." + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMDeleteParameters" + } }, - "accounts": { + "meta": { } + } + }, + "SMDeleteResponse": { + "type": "object", + "properties": { + "securityName": { + "type": "string" + }, + "status": { + "enum": [ + "success", + "failure" + ], + "type": "string" + }, + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/SPARIdentifier" - }, - "description": "List of accounts for SPAR calculation." + "$ref": "#/components/schemas/SMError" + } + } + } + }, + "SMDeleteResponseRoot": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SMDeleteResponse" + } }, - "benchmark": { - "$ref": "#/components/schemas/SPARIdentifier" + "meta": { } + } + }, + "SMTemplateFieldProperties": { + "type": "object", + "properties": { + "category": { + "type": "array", + "items": { + "type": "string" + } }, - "dates": { - "$ref": "#/components/schemas/SPARDateParameters" + "mandatory": { + "type": "boolean" }, - "currencyisocode": { - "type": "string", - "description": "Currency ISO code for calculation." + "whenField": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + } } - }, - "additionalProperties": false + } }, - "SPARCalculationParametersRoot": { + "SMTemplateFieldPropertiesRoot": { + "required": [ + "data" + ], "type": "object", "properties": { "data": { "type": "object", "additionalProperties": { - "$ref": "#/components/schemas/SPARCalculationParameters" - }, - "description": "List of calculation parameters." + "$ref": "#/components/schemas/SMTemplateFieldProperties" + } }, - "meta": { - "$ref": "#/components/schemas/CalculationMeta" - } - }, - "additionalProperties": false + "meta": { } + } }, "PAComponentData": { "type": "object", @@ -44614,8 +42664,7 @@ "type": "string", "description": "PA Storage type. It can be GROUPS or TOTALS or SECURITIES." } - }, - "additionalProperties": false + } }, "TemplatedPAComponentParameters": { "required": [ @@ -44639,8 +42688,7 @@ "componentData": { "$ref": "#/components/schemas/PAComponentData" } - }, - "additionalProperties": false + } }, "TemplatedPAComponentParametersRoot": { "required": [ @@ -44652,8 +42700,7 @@ "$ref": "#/components/schemas/TemplatedPAComponentParameters" }, "meta": { } - }, - "additionalProperties": false + } }, "TemplatedPAComponentPostSummary": { "type": "object", @@ -44673,8 +42720,7 @@ "type": { "type": "string" } - }, - "additionalProperties": false + } }, "TemplatedPAComponentPostSummaryRoot": { "required": [ @@ -44686,8 +42732,7 @@ "$ref": "#/components/schemas/TemplatedPAComponentPostSummary" }, "meta": { } - }, - "additionalProperties": false + } }, "TemplatedPAComponentSummary": { "type": "object", @@ -44704,8 +42749,7 @@ "type": { "type": "string" } - }, - "additionalProperties": false + } }, "TemplatedPAComponentSummaryRoot": { "required": [ @@ -44720,8 +42764,7 @@ } }, "meta": { } - }, - "additionalProperties": false + } }, "TemplatedPAComponentUpdateParameters": { "type": "object", @@ -44737,8 +42780,7 @@ "componentData": { "$ref": "#/components/schemas/PAComponentData" } - }, - "additionalProperties": false + } }, "TemplatedPAComponentUpdateParametersRoot": { "required": [ @@ -44750,8 +42792,7 @@ "$ref": "#/components/schemas/TemplatedPAComponentUpdateParameters" }, "meta": { } - }, - "additionalProperties": false + } }, "TemplatedPAComponent": { "type": "object", @@ -44780,8 +42821,7 @@ "type": { "type": "string" } - }, - "additionalProperties": false + } }, "TemplatedPAComponentRoot": { "required": [ @@ -44793,8 +42833,7 @@ "$ref": "#/components/schemas/TemplatedPAComponent" }, "meta": { } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateParameters": { "required": [ @@ -44860,8 +42899,7 @@ "content": { "$ref": "#/components/schemas/TemplateContentTypes" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateParametersRoot": { "required": [ @@ -44873,8 +42911,7 @@ "$ref": "#/components/schemas/UnlinkedPATemplateParameters" }, "meta": { } - }, - "additionalProperties": false + } }, "UnlinkedPATemplatePostSummary": { "type": "object", @@ -44895,8 +42932,7 @@ "type": "string", "description": "Unlinked template category" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplatePostSummaryRoot": { "required": [ @@ -44908,8 +42944,7 @@ "$ref": "#/components/schemas/UnlinkedPATemplatePostSummary" }, "meta": { } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateSummary": { "type": "object", @@ -44926,8 +42961,7 @@ "type": "string", "description": "Unlinked template category" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateSummaryRoot": { "required": [ @@ -44942,8 +42976,7 @@ } }, "meta": { } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateUpdateParameters": { "type": "object", @@ -44997,8 +43030,7 @@ "content": { "$ref": "#/components/schemas/TemplateContentTypes" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateUpdateParametersRoot": { "required": [ @@ -45010,8 +43042,7 @@ "$ref": "#/components/schemas/UnlinkedPATemplateUpdateParameters" }, "meta": { } - }, - "additionalProperties": false + } }, "UnlinkedPATemplate": { "type": "object", @@ -45089,8 +43120,7 @@ "type": "string", "description": "Unlinked template category" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateRoot": { "required": [ @@ -45102,8 +43132,7 @@ "$ref": "#/components/schemas/UnlinkedPATemplate" }, "meta": { } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateCategoryAndType": { "type": "object", @@ -45116,8 +43145,7 @@ "type": "string", "description": "Unlinked template type" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateCategoryAndTypeRoot": { "required": [ @@ -45132,8 +43160,7 @@ } }, "meta": { } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateColumnDetails": { "type": "object", @@ -45153,8 +43180,7 @@ }, "description": "Column Statistic identifier" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateGroupDetails": { "type": "object", @@ -45171,8 +43197,7 @@ "type": "string", "description": "Grouping frequency" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateCategoryAndTypeDetails": { "type": "object", @@ -45207,8 +43232,7 @@ "type": "string", "description": "Unlinked template type" } - }, - "additionalProperties": false + } }, "UnlinkedPATemplateCategoryAndTypeDetailsRoot": { "required": [ @@ -45220,8 +43244,36 @@ "$ref": "#/components/schemas/UnlinkedPATemplateCategoryAndTypeDetails" }, "meta": { } - }, - "additionalProperties": false + } + }, + "VaultAttributionLoaderResponse": { + "type": "object", + "properties": { + "processId": { + "type": "string", + "description": "ProcessId." + }, + "groupId": { + "type": "string", + "description": "GroupId." + }, + "objectId": { + "type": "string", + "description": "ObjectId." + } + } + }, + "VaultAttributionLoaderResponseRoot": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/VaultAttributionLoaderResponse" + }, + "meta": { } + } }, "VaultCalculationParameters": { "required": [ @@ -45249,8 +43301,7 @@ "type": "string", "description": "Component detail type for the Vault component. It can be GROUPS or TOTALS or SECURITIES." } - }, - "additionalProperties": false + } }, "VaultCalculationParametersRoot": { "type": "object", @@ -45265,8 +43316,7 @@ "meta": { "$ref": "#/components/schemas/CalculationMeta" } - }, - "additionalProperties": false + } } }, "securitySchemes": {