Slope Software ScenarioTables API
The ScenarioTables API from Slope Software — 4 operation(s) for scenariotables.
The ScenarioTables API from Slope Software — 4 operation(s) for scenariotables.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/slope-software:slope-software-scenariotables-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Slope Scenario Tables API
version: '1.0'
tags:
- name: ScenarioTables
paths:
/api/v1/ScenarioTables/{ScenarioTableId}:
get:
tags:
- ScenarioTables
summary: Get a scenario table
operationId: GetScenarioTableById
parameters:
- name: ScenarioTableId
in: path
description: Scenario Table Id
required: true
schema:
type: integer
description: Scenario Table Id
format: int32
- name: Fields
in: query
description: "Optional parameter to filter the top-level fields that are returned. \nThe list must be in CSV format. Example: field1,field2,field3"
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GetScenarioTableResponseV1'
'201':
description: Created
'400':
description: Bad Request
'403':
description: Not Allowed To Access
'429':
description: Too Many Requests
'404':
description: Not Found
'401':
description: Unauthorized
security:
- API Token: []
patch:
tags:
- ScenarioTables
summary: Update a scenario table
description: 'The excel sheet name field is required for excel files and the delimiter field, which defaults to a comma if not set, is required for non-excel files.
The row limit is 150,000 for excel files and 2 million for csv files.
To avoid request timeouts on large files, set validateFile to false to skip validation on upload; the file will then be validated when a projection is run.'
operationId: UpdateExistingScenarioTable
parameters:
- name: ScenarioTableId
in: path
description: Scenario Table Id
required: true
schema:
type: integer
description: Scenario Table Id
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateScenarioTableRequestV1'
text/json:
schema:
$ref: '#/components/schemas/UpdateScenarioTableRequestV1'
application/*+json:
schema:
$ref: '#/components/schemas/UpdateScenarioTableRequestV1'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrUpdateScenarioTableResponseV1'
'201':
description: Created
'400':
description: Bad Request
'403':
description: Not Allowed To Access
'429':
description: Too Many Requests
'404':
description: Not Found
'401':
description: Unauthorized
'409':
description: Scenario table description already exists
security:
- API Token: []
/api/v1/ScenarioTables:
post:
tags:
- ScenarioTables
summary: Create a scenario table using an existing file
description: 'The excel sheet name field is required for excel files and the delimiter field, which defaults to a comma if not set, is required for non-excel files.
The row limit is 150,000 for excel files and 2 million for csv files.
To avoid request timeouts on large files, set validateFile to false to skip validation on upload; the file will then be validated when a projection is run.'
operationId: CreateScenarioTableFromFile
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateScenarioTableRequestV1'
text/json:
schema:
$ref: '#/components/schemas/CreateScenarioTableRequestV1'
application/*+json:
schema:
$ref: '#/components/schemas/CreateScenarioTableRequestV1'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrUpdateScenarioTableResponseV1'
'201':
description: Created
'400':
description: Bad Request
'403':
description: Not Allowed To Access
'429':
description: Too Many Requests
'404':
description: Not Found
'401':
description: Unauthorized
'409':
description: Scenario table description already exists
security:
- API Token: []
/api/v1/ScenarioTables/Generate:
post:
tags:
- ScenarioTables
summary: Generate a scenario table from a generator
operationId: GenerateScenarioTableFromGenerator
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateScenarioTableRequestV1'
text/json:
schema:
$ref: '#/components/schemas/GenerateScenarioTableRequestV1'
application/*+json:
schema:
$ref: '#/components/schemas/GenerateScenarioTableRequestV1'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateScenarioTableResponseV1'
'201':
description: Created
'400':
description: Bad Request
'403':
description: Not Allowed To Access
'429':
description: Too Many Requests
'404':
description: Not Found
'401':
description: Unauthorized
security:
- API Token: []
/api/v1/ScenarioTables/Generate/Status/{generationId}:
get:
tags:
- ScenarioTables
summary: Get the status of a scenario table generation
operationId: GetGenerateStatus
parameters:
- name: generationId
in: path
required: true
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/GenerateScenarioTableStatusResponseV1'
'201':
description: Created
'400':
description: Bad Request
'403':
description: Not Allowed To Access
'429':
description: Too Many Requests
'404':
description: Not Found
'401':
description: Unauthorized
security:
- API Token: []
components:
schemas:
UpdateScenarioTableRequestV1:
type: object
properties:
fileId:
type:
- integer
- 'null'
description: File ID
format: int32
filePath:
type:
- string
- 'null'
description: File Path
fileVersion:
type:
- integer
- 'null'
description: File Version
format: int32
delimiter:
type:
- string
- 'null'
description: Delimiter
excelSheetName:
type:
- string
- 'null'
description: Excel Sheet Name
name:
type:
- string
- 'null'
description: Scenario Table Name
startDate:
type:
- string
- 'null'
description: Scenario Table Start Date
yieldCurveRateType:
$ref: '#/components/schemas/YieldCurveRateType'
shortTermInterpolationMethod:
$ref: '#/components/schemas/ShortTermInterpolationMethod'
validateFile:
type:
- boolean
- 'null'
description: 'Validate the uploaded file. Defaults to true. Set to false to skip validation on upload and avoid request
timeouts for large files; the file will instead be validated when a projection is run.'
additionalProperties: false
CreateScenarioTableRequestV1:
required:
- name
- startDate
type: object
properties:
fileId:
type:
- integer
- 'null'
description: File ID
format: int32
filePath:
type:
- string
- 'null'
description: File Path
fileVersion:
type:
- integer
- 'null'
description: File Version
format: int32
delimiter:
type:
- string
- 'null'
description: Delimiter
excelSheetName:
type:
- string
- 'null'
description: Excel Sheet Name
modelId:
type: integer
description: Model ID
format: int32
name:
minLength: 1
type: string
description: Scenario Table Name
startDate:
minLength: 1
type: string
description: Scenario Start Date
yieldCurveRateType:
$ref: '#/components/schemas/YieldCurveRateType'
shortTermInterpolationMethod:
$ref: '#/components/schemas/ShortTermInterpolationMethod'
validateFile:
type:
- boolean
- 'null'
description: 'Validate the uploaded file. Defaults to true. Set to false to skip validation on upload and avoid request
timeouts for large files; the file will instead be validated when a projection is run.'
additionalProperties: false
GenerateScenarioTableStatusResponseV1:
type: object
properties:
status:
$ref: '#/components/schemas/GenerationStatus'
scenarioTableId:
type:
- integer
- 'null'
description: Scenario Table ID (if the generation is complete)
format: int32
errorMessage:
type:
- string
- 'null'
description: Error Message (if the generation failed)
additionalProperties: false
GetScenarioTableResponseV1:
type: object
properties:
id:
type: integer
description: Scenario Table ID
format: int32
modelId:
type: integer
description: Model ID
format: int32
name:
type:
- string
- 'null'
description: Scenario Table Name
startDate:
type: string
description: State Date
format: date-time
yieldCurveRateType:
$ref: '#/components/schemas/YieldCurveRateType'
shortTermInterpolationMethod:
$ref: '#/components/schemas/ShortTermInterpolationMethod'
version:
type: integer
description: Version
format: int32
fileId:
type:
- integer
- 'null'
description: Scenario Table File ID
format: int32
filePath:
type:
- string
- 'null'
description: Scenario Table File Path
fileVersion:
type:
- integer
- 'null'
description: Scenario Table File Version
format: int32
delimiter:
type:
- string
- 'null'
description: Scenario Table File Delimiter
excelSheetName:
type:
- string
- 'null'
description: Scenario Table File Excel Shet Name
additionalProperties: false
NaicVariableRateMappingRequestV1:
required:
- returnComponentName
- returnTypeName
- variableRateId
type: object
properties:
variableRateId:
type: integer
description: Variable rate ID.
format: int32
returnTypeName:
minLength: 1
type: string
description: Return type name.
returnComponentName:
minLength: 1
type: string
description: Return component name.
additionalProperties: false
ShortTermInterpolationMethod:
enum:
- AnnualEffectiveRate
- FromZero
type: string
GenerationStatus:
enum:
- NotStarted
- Running
- Failed
- Completed
type: string
CreateOrUpdateScenarioTableResponseV1:
type: object
properties:
id:
type: integer
description: Scenario Table ID
format: int32
modelId:
type: integer
description: Model ID
format: int32
name:
type:
- string
- 'null'
description: Scenario Table Name
startDate:
type: string
description: Start Date
format: date-time
filePath:
type:
- string
- 'null'
description: File Path
version:
type: integer
description: Version
format: int32
additionalProperties: false
NaicGeneratorParametersRequestV1:
required:
- datasetDate
type: object
properties:
datasetDate:
minLength: 1
type: string
description: 'Dataset date for the NAIC generator. Expected format: YYYY-MM-DD'
scenarioSet:
enum:
- Full10000Scenarios
- SubsetScenarios
- StochasticExclusionTestScenarios
type:
- string
- 'null'
description: 'The NAIC generator scenario set type. Valid values: Full10000Scenarios, SubsetScenarios, StochasticExclusionTestScenarios'
numberOfScenarios:
type:
- integer
- 'null'
description: Number of scenarios to generate. Used by the NAIC generator.
format: int32
scenarioSubsetMethod:
enum:
- SignificanceValue
- LargeCapGrowthWealthFactor
- FirstN
type:
- string
- 'null'
description: 'The NAIC generator scenario subset method. Valid values: SignificanceValue, LargeCapGrowthWealthFactor, FirstN'
scenarioNumbering:
enum:
- RenumberInAscendingOrder
- KeepOriginalScenarioNumbers
type:
- string
- 'null'
description: 'The NAIC generator scenario numbering method. Valid values: RenumberInAscendingOrder, KeepOriginalScenarioNumbers'
variableRateMappings:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/NaicVariableRateMappingRequestV1'
description: List of variable rate mappings for the NAIC scenario generator.
additionalProperties: false
GenerateScenarioTableRequestV1:
required:
- filePath
- modelId
- name
- yearsToProject
type: object
properties:
modelId:
type: integer
description: Model ID.
format: int32
generatorType:
enum:
- NAICGenerator
type:
- string
- 'null'
description: 'Economic scenario generator type. Valid values: NAICGenerator'
name:
minLength: 1
type: string
description: Name of the scenario table to be generated.
filePath:
minLength: 1
type: string
description: Slope file path where the generated scenario table will be stored.
yearsToProject:
type: integer
description: Number of years to project.
format: int32
yieldCurveRateType:
enum:
- BondEquivalent
- SpotRate
type:
- string
- 'null'
description: 'Yield curve rate type for generated scenario tables. Valid values: BondEquivalent, SpotRate'
naicGeneratorParameters:
$ref: '#/components/schemas/NaicGeneratorParametersRequestV1'
additionalProperties: false
YieldCurveRateType:
enum:
- BondEquivalent
- AnnualEffective
- SpotRate
type: string
GenerateScenarioTableResponseV1:
type: object
properties:
generationId:
type: integer
description: The ID used to check the status of the scenario table generation
format: int32
additionalProperties: false
securitySchemes:
API_Token:
type: http
description: The API token received from the Authorize endpoint goes here.
scheme: Bearer
bearerFormat: JWT