Slope Software Models API

The Models API from Slope Software — 13 operation(s) for models.

Operations 13

GET /api/v1/Models Get a paginated list of models by type (Library, Workspace, or Production). #
GET /api/v1/Models/{ModelId}/ProjectionTemplates Get model's projection templates. #
GET /api/v1/Models/{ModelId}/DataTables Get model's data tables. #
GET /api/v1/Models/{ModelId}/DecrementTables Get model's decrement tables. #
GET /api/v1/Models/{ModelId}/ScenarioTables Get model's scenario tables. #
GET /api/v1/Models/{ModelId}/ImprovementScales Get model's improvement scales. #
GET /api/v1/Models/{ModelId}/TableStructures Get model's table structures. #
GET /api/v1/Models/{ModelId}/InvestmentStrategies Get model's investment strategies. #
GET /api/v1/Models/{ModelId}/Products Get model's products. #
GET /api/v1/Models/{ModelId}/VariableRates Get model's variable rates. #
POST /api/v1/Models/{ModelId}/Copy Initiate an asynchronous copy of a model. Returns a token to check copy status. #
GET /api/v1/Models/CopyStatus/{Token} Check the status of an asynchronous model copy operation. #
GET /api/v1/Models/{ModelId}/Arrays Get model's arrays. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/slope-software-models-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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 Specification

slope-software-models-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Slope Arrays Models API
  version: '1.0'
servers:
- url: https://api.slopesoftware.com
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Models
paths:
  /api/v1/Models:
    get:
      tags:
      - Models
      summary: Get a paginated list of models by type (Library, Workspace, or Production).
      operationId: ListModels
      parameters:
      - name: ModelType
        in: query
        description: 'Type of models to retrieve: Library, Workspace, or Production'
        required: true
        schema:
          $ref: '#/components/schemas/ModelTypeFilter'
      - 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
      - name: Limit
        in: query
        description: Optional parameter to limit the number of items returned. Default is 200.
        schema:
          type: integer
          format: int32
      - name: Offset
        in: query
        description: Optional parameter to offset the items returned. Default is 0.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseListModelsResponseItemV1'
        '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/Models/{ModelId}/ProjectionTemplates:
    get:
      tags:
      - Models
      summary: Get model's projection templates.
      operationId: GetProjectionTemplatesByModelId
      parameters:
      - name: ModelId
        in: path
        description: Model Id
        required: true
        schema:
          type: integer
          description: Model 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
      - name: Limit
        in: query
        description: Optional parameter to limit the number of items returned. Default is 200.
        schema:
          type: integer
          format: int32
      - name: Offset
        in: query
        description: Optional parameter to offset the items returned. Default is 0.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGetModelProjectionTemplatesResponseItemV1'
        '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/Models/{ModelId}/DataTables:
    get:
      tags:
      - Models
      summary: Get model's data tables.
      operationId: GetDataTablesByModelId
      parameters:
      - name: ModelId
        in: path
        description: Model Id
        required: true
        schema:
          type: integer
          description: Model Id
          format: int32
      - name: TableStructureName
        in: query
        description: Optional Table Structure Name filter
        schema:
          type: string
      - 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
      - name: Limit
        in: query
        description: Optional parameter to limit the number of items returned. Default is 200.
        schema:
          type: integer
          format: int32
      - name: Offset
        in: query
        description: Optional parameter to offset the items returned. Default is 0.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGetModelDataTablesResponseItemV1'
        '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/Models/{ModelId}/DecrementTables:
    get:
      tags:
      - Models
      summary: Get model's decrement tables.
      operationId: GetDecrementTablesByModelId
      parameters:
      - name: ModelId
        in: path
        description: Model Id
        required: true
        schema:
          type: integer
          description: Model 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
      - name: Limit
        in: query
        description: Optional parameter to limit the number of items returned. Default is 200.
        schema:
          type: integer
          format: int32
      - name: Offset
        in: query
        description: Optional parameter to offset the items returned. Default is 0.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGetModelDecrementTablesResponseItemV1'
        '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/Models/{ModelId}/ScenarioTables:
    get:
      tags:
      - Models
      summary: Get model's scenario tables.
      operationId: GetScenarioTablesByModelId
      parameters:
      - name: ModelId
        in: path
        description: Model Id
        required: true
        schema:
          type: integer
          description: Model 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
      - name: Limit
        in: query
        description: Optional parameter to limit the number of items returned. Default is 200.
        schema:
          type: integer
          format: int32
      - name: Offset
        in: query
        description: Optional parameter to offset the items returned. Default is 0.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGetModelScenarioTablesResponseItemV1'
        '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/Models/{ModelId}/ImprovementScales:
    get:
      tags:
      - Models
      summary: Get model's improvement scales.
      operationId: GetImprovementScalesByModelId
      parameters:
      - name: ModelId
        in: path
        description: Model Id
        required: true
        schema:
          type: integer
          description: Model 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
      - name: Limit
        in: query
        description: Optional parameter to limit the number of items returned. Default is 200.
        schema:
          type: integer
          format: int32
      - name: Offset
        in: query
        description: Optional parameter to offset the items returned. Default is 0.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGetModelImprovementScalesResponseItemV1'
        '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/Models/{ModelId}/TableStructures:
    get:
      tags:
      - Models
      summary: Get model's table structures.
      operationId: GetTableStructuresByModelId
      parameters:
      - name: ModelId
        in: path
        description: Model Id
        required: true
        schema:
          type: integer
          description: Model 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
      - name: Limit
        in: query
        description: Optional parameter to limit the number of items returned. Default is 200.
        schema:
          type: integer
          format: int32
      - name: Offset
        in: query
        description: Optional parameter to offset the items returned. Default is 0.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGetModelTableStructuresResponseItemV1'
        '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/Models/{ModelId}/InvestmentStrategies:
    get:
      tags:
      - Models
      summary: Get model's investment strategies.
      operationId: GetInvestmentStrategiesByModelId
      parameters:
      - name: ModelId
        in: path
        description: Model Id
        required: true
        schema:
          type: integer
          description: Model 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
      - name: Limit
        in: query
        description: Optional parameter to limit the number of items returned. Default is 200.
        schema:
          type: integer
          format: int32
      - name: Offset
        in: query
        description: Optional parameter to offset the items returned. Default is 0.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGetModelInvestmentStrategiesResponseItemV1'
        '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/Models/{ModelId}/Products:
    get:
      tags:
      - Models
      summary: Get model's products.
      operationId: GetProductsByModelId
      parameters:
      - name: ModelId
        in: path
        description: Model Id
        required: true
        schema:
          type: integer
          description: Model 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
      - name: Limit
        in: query
        description: Optional parameter to limit the number of items returned. Default is 200.
        schema:
          type: integer
          format: int32
      - name: Offset
        in: query
        description: Optional parameter to offset the items returned. Default is 0.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGetModelProductsResponseItemV1'
        '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/Models/{ModelId}/VariableRates:
    get:
      tags:
      - Models
      summary: Get model's variable rates.
      operationId: GetVariableRatesByModelId
      parameters:
      - name: ModelId
        in: path
        description: Model Id
        required: true
        schema:
          type: integer
          description: Model 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
      - name: Limit
        in: query
        description: Optional parameter to limit the number of items returned. Default is 200.
        schema:
          type: integer
          format: int32
      - name: Offset
        in: query
        description: Optional parameter to offset the items returned. Default is 0.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGetModelVariableRatesResponseItemV1'
        '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/Models/{ModelId}/Copy:
    post:
      tags:
      - Models
      summary: Initiate an asynchronous copy of a model. Returns a token to check copy status.
      description: 'Creates a full copy of the specified model. The copy is performed asynchronously in the background. Use the returned copy token to check the status of the copy operation. Note: Copy tokens are only valid for 24 hours after the copy is initiated. Library models cannot be copied in this version.'
      operationId: CopyModel
      parameters:
      - name: ModelId
        in: path
        description: The ID of the model to copy
        required: true
        schema:
          maximum: 2147483647
          minimum: 1
          type: integer
          description: The ID of the model to copy
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CopyModelRequestV1'
          text/json:
            schema:
              $ref: '#/components/schemas/CopyModelRequestV1'
          application/*+json:
            schema:
              $ref: '#/components/schemas/CopyModelRequestV1'
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CopyModelResponseV1'
        '400':
          description: Bad Request
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '200':
          description: Success
        '201':
          description: Created
        '429':
          description: Too Many Requests
        '401':
          description: Unauthorized
      security:
      - API Token: []
  /api/v1/Models/CopyStatus/{Token}:
    get:
      tags:
      - Models
      summary: Check the status of an asynchronous model copy operation.
      description: 'Returns the current status of a model copy operation initiated via the Copy endpoint. The status can be Running, Completed, or Failed. When completed, the response includes the ID of the newly created model. When failed, the response includes an error message. Note: Copy tokens are only valid for 24 hours.'
      operationId: GetModelCopyStatus
      parameters:
      - name: Token
        in: path
        description: The copy token returned from the Copy endpoint
        required: true
        schema:
          type: string
          description: The copy token returned from the Copy endpoint
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelCopyStatusResponseV1'
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
            text/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '201':
          description: Created
        '400':
          description: Bad Request
        '403':
          description: Not Allowed To Access
        '429':
          description: Too Many Requests
        '401':
          description: Unauthorized
      security:
      - API Token: []
  /api/v1/Models/{ModelId}/Arrays:
    get:
      tags:
      - Models
      summary: Get model's arrays.
      operationId: GetArraysByModelId
      parameters:
      - name: ModelId
        in: path
        description: Model Id
        required: true
        schema:
          type: integer
          description: Model 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
      - name: Limit
        in: query
        description: Optional parameter to limit the number of items returned. Default is 200.
        schema:
          type: integer
          format: int32
      - name: Offset
        in: query
        description: Optional parameter to offset the items returned. Default is 0.
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponseGetModelArraysResponseItemV1'
        '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:
    ShortTermInterpolationMethod:
      enum:
      - AnnualEffectiveRate
      - FromZero
      type: string
    GetModelTableStructuresResponseItemV1:
      type: object
      properties:
        id:
          type: integer
          description: Table Structure ID
          format: int32
        name:
          type:
          - string
          - 'null'
          description: Table Structure Name
        description:
          type:
          - string
          - 'null'
          description: Table Structure Description
      additionalProperties: false
    GetModelDataTablesResponseItemV1:
      type: object
      properties:
        id:
          type: integer
          description: Data Table ID
          format: int32
        name:
          type:
          - string
          - 'null'
          description: Data Table Name
        tableStructureId:
          type:
          - integer
          - 'null'
          description: Data Table Structure ID
          format: int32
        tableStructureName:
          type:
          - string
          - 'null'
          description: Data Table Structure Name
        version:
          type: integer
          description: Data Table Version
          format: int32
        isLatestVersion:
          type: boolean
          description: Is Latest Version of Data Table?
      additionalProperties: false
    GetModelProjectionTemplatesResponseItemV1:
      type: object
      properties:
        id:
          type: integer
          format: int32
        name:
          type:
          - string
          - 'null'
      additionalProperties: false
    PaginatedResponseGetModelInvestmentStrategiesResponseItemV1:
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/GetModelInvestmentStrategiesResponseItemV1'
          description: Items within the page
        offset:
          type:
          - integer
          - 'null'
          description: Offset to retrieve the next page. Null when there are no further records.
          format: int32
          readOnly: true
      additionalProperties: false
      description: Paginated response that will only return an offset if there are remaining pages
    VariableRateType:
      enum:
      - MonthlyReturns
      - AnnualReturns
      - IndexValues
      type: string
    PaginatedResponseGetModelTableStructuresResponseItemV1:
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/GetModelTableStructuresResponseItemV1'
          description: Items within the page
        offset:
          type:
          - integer
          - 'null'
          description: Offset to retrieve the next page. Null when there are no further records.
          format: int32
          readOnly: true
      additionalProperties: false
      description: Paginated response that will only return an offset if there are remaining pages
    PaginatedResponseGetModelImprovementScalesResponseItemV1:
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/GetModelImprovementScalesResponseItemV1'
          description: Items within the page
        offset:
          type:
          - integer
          - 'null'
          description: Offset to retrieve the next page. Null when there are no further records.
          format: int32
          readOnly: true
      additionalProperties: false
      description: Paginated response that will only return an offset if there are remaining pages
    YieldCurveRateType:
      enum:
      - BondEquivalent
      - AnnualEffective
      - SpotRate
      type: string
    PaginatedResponseGetModelVariableRatesResponseItemV1:
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/GetModelVariableRatesResponseItemV1'
          description: Items within the page
        offset:
          type:
          - integer
          - 'null'
          description: Offset to retrieve the next page. Null when there are no further records.
          format: int32
          readOnly: true
      additionalProperties: false
      description: Paginated response that will only return an offset if there are remaining pages
    PaginatedResponseListModelsResponseItemV1:
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ListModelsResponseItemV1'
          description: Items within the page
        offset:
          type:
          - integer
          - 'null'
          description: Offset to retrieve the next page. Null when there are no further records.
          format: int32
          readOnly: true
      additionalProperties: false
      description: Paginated response that will only return an offset if there are remaining pages
    ListModelsResponseItemV1:
      type: object
      properties:
        id:
          type: integer
          description: Model ID
          format: int32
        name:
          type:
          - string
          - 'null'
          description: Model Name
        lastModifiedOn:
          type: string
          description: Last Modified Date
          format: date-time
        folderPath:
          type:
          - string
          - 'null'
          description: Folder path (if model is in a folder)
      additionalProperties: false
    PaginatedResponseGetModelArraysResponseItemV1:
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/GetModelArraysResponseItemV1'
          description: Items within the page
        offset:
          type:
          - integer
          - 'null'
          description: Offset to retrieve the next page. Null when there are no further records.
          format: int32
          readOnly: true
      additionalProperties: false
      description: Paginated response that will only return an offset if there are remaining pages
    PaginatedResponseGetModelProductsResponseItemV1:
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/GetModelProductsResponseItemV1'
          description: Items within the page
        offset:
          type:
          - integer
          - 'null'
          description: Offset to retrieve the next page. Null when there are no further records.
          format: int32
          readOnly: true
      additionalProperties: false
      description: Paginated response that will only return an offset if there are remaining pages
    GetModelArraysResponseItemV1:
      type: object
      properties:
        id:
          type: integer
          description: Array ID
          format: int32
        name:
          type:
          - string
          - 'null'
          description: Array Name
        arraySource:
          type:
          - string
          - 'null'
          description: Array Source
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type:
          - string
          - 'null'
        title:
          type:
          - string
          - 'null'
        status:
          type:
          - integer
          - 'null'
          format: int32
        detail:
          type:
          - string
          - 'null'
        instance:
          type:
          - string
          - 'null'
      additionalProperties: {}
    GetModelImprovementScalesResponseItemV1:
      type: object
      properties:
        id:
          type: integer
          description: Improvement Scale ID
          format: int32
        name:
          type:
          - string
          - 'null'
          description: Improvement Scale Name
        description:
          type:
          - string
          - 'null'
          description: Improvement Scale Description
        improvementScaleType:
          $ref: '#/components/schemas/ImprovementScaleType'
        firstCalendarYear:
          type:
          - integer
          - 'null'
          description: First Calendar Year
          format: int32
        ultimateCalendarYear:
          type:
          - integer
          - 'null'
          description: Ultimate Calendar Year
          format: int32
        version:
          type: integer
          description: Version
          format: int32
      additionalProperties: false
    ModelCopyStatusResponseV1:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/ModelCopyStatusV1'
        newModelId:
          type:
          - integer
          - 'null'
          description: ID of the newly created model (only populated when Status is Completed)
          format: int32
        errorMessage:
          type:
          - string
          - 'null'
          description: Error message if the copy operation failed (only populated when Status is Failed)
      additionalProperties: false
    PaginatedResponseGetModelDecrementTablesResponseItemV1:
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/GetModelDecrementTablesResponseItemV1'
          description: Items within the page
        offset:
          type:
          - integer
          - 'null'
          description: Offset to retrieve the next page. Null when there are no further records.
          format: int32
          readOnly: true
      additionalProperties: false
      description: Paginated response that will only return an offset if there are remaining pages
    MortalityTableType:
      enum:
      - Standard
      - Improving
      - SelectAndUltimate
      type: string
    PaginatedResponseGetModelProjectionTemplatesResponseItemV1:
      type: object
      properties:
        items:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/GetModelProjectionTemplatesResponseItemV1'
          description: Items within the page
        offset:
          type:
          - integer
          - 'null'
          description: Offset to retrieve the next page. Null when there are no further records.
          format: int32
          readOnly: true
      additionalProperties: false
      description: Paginated response that will only return an offset if there are remaining pages
    ModelCopyStatusV1:
      enum:
      - Running
      - Completed
      - Failed
      type: string
      description: Status of a model copy operation
    GetModelScenarioTablesResponseItemV1:
      type: object
      properties:
        id:
          type: integer
          description: Scenario Table ID
          format: int32
        name:
          type:
          - string
          - 'null'
          description: Scenario Table Name
        startDate:
          type: string
          description: Start Date
          format: date-time
        yieldCurveRateType:
          $ref: '#/components/schemas/YieldCurveRateType'
        shortTermInterpolationMethod:
          $ref: '#/components/schemas/ShortTermInterpolationMethod'
        version:
          type: integer
          description: Scenario Table Version
          format: int32
        fileReference:
          $ref: '#/components/schemas/GetModelScenari

# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/slope-software/refs/heads/main/openapi/slope-software-models-api-openapi.yml