> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vantage.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Create scenario model

> Create a ScenarioModel.



## OpenAPI

````yaml https://api.vantage.sh/v2/oas_v3.json post /scenario_models
openapi: 3.0.1
info:
  title: Vantage
  description: Vantage API
  termsOfService: https://www.vantage.sh/terms-of-use
  contact:
    name: Vantage Support
    url: https://www.vantage.sh
    email: support@vantage.sh
  version: 2.0.0
servers:
  - url: https://api.vantage.sh/v2
security:
  - oauth2:
      - read
tags:
  - name: AccessGrants
    description: Operations about AccessGrants
  - name: AnomalyAlerts
    description: Operations about AnomalyAlerts
  - name: AnomalyNotifications
    description: Operations about AnomalyNotifications
  - name: AuditLogs
    description: Operations about AuditLogs
  - name: BillingProfiles
    description: Operations about BillingProfiles
  - name: BillingRules
    description: Operations about BillingRules
  - name: BudgetAlerts
    description: Operations about BudgetAlerts
  - name: Budgets
    description: Operations about Budgets
  - name: BusinessMetrics
    description: Operations about BusinessMetrics
  - name: Canvases
    description: Operations about Canvases
  - name: CostAlertEvents
    description: Operations about CostAlertEvents
  - name: CostAlerts
    description: Operations about CostAlerts
  - name: CostProvider
    description: Operations about CostProviders
  - name: CostProviderAccounts
    description: Operations about CostProviderAccounts
  - name: Costs
    description: Operations about Costs
  - name: CostService
    description: Operations about CostServices
  - name: Dashboards
    description: Operations about Dashboards
  - name: DataExports
    description: Operations about DataExports
  - name: ExchangeRates
    description: Operations about ExchangeRates
  - name: FinancialCommitmentReports
    description: Operations about FinancialCommitmentReports
  - name: FinancialCommitments
    description: Operations about FinancialCommitments
  - name: Folders
    description: Operations about Folders
  - name: Integrations
    description: Operations about Integrations
  - name: Invoices
    description: Operations about Invoices
  - name: KubernetesEfficiencyReports
    description: Operations about KubernetesEfficiencyReports
  - name: ManagedAccounts
    description: Operations about ManagedAccounts
  - name: Me
    description: Operations about Mes
  - name: NetworkFlowLogs
    description: Operations about NetworkFlowLogs
  - name: NetworkFlowReports
    description: Operations about NetworkFlowReports
  - name: OpenAPISpecification
    description: Operations about OpenAPISpecifications
  - name: Ping
    description: Operations about Pings
  - name: Prices
    description: Operations about Prices
  - name: Recommendations
    description: Operations about Recommendations
  - name: RecommendationViews
    description: Operations about RecommendationViews
  - name: ReportForecasts
    description: Operations about ReportForecasts
  - name: ReportNotifications
    description: Operations about ReportNotifications
  - name: ResourceReports
    description: Operations about ResourceReports
  - name: Resources
    description: Operations about Resources
  - name: SavedFilters
    description: Operations about SavedFilters
  - name: ScenarioModels
    description: Operations about ScenarioModels
  - name: Segments
    description: Operations about Segments
  - name: Tags
    description: Operations about Tags
  - name: Teams
    description: Operations about Teams
  - name: UnitCosts
    description: Operations about UnitCosts
  - name: UserFeedback
    description: Operations about UserFeedbacks
  - name: Users
    description: Operations about Users
  - name: VirtualTags
    description: Operations about VirtualTags
  - name: Workspaces
    description: Operations about Workspaces
paths:
  /scenario_models:
    post:
      tags:
        - ScenarioModels
      summary: Create scenario model
      description: Create a ScenarioModel.
      operationId: createScenarioModel
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createScenarioModel'
        required: true
      responses:
        '201':
          description: Create a ScenarioModel.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScenarioModel'
              example:
                token: frcst_mdl_e42020822501d0ee
                title: Expansion Plan
                priority: 4
                workspace_token: null
                provider: null
                service: null
                periods:
                  - start_at: '2026-04-01'
                    end_at: null
                    amount: '9876.54321'
                    amount_type: percent
                created_by_token: usr_cc82bf4cf16d5452
                created_at: '2026-07-28T15:37:50Z'
                updated_at: '2026-07-28T15:37:50Z'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
        '422':
          description: UnprocessableEntity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
        - oauth2:
            - write
components:
  schemas:
    createScenarioModel:
      required:
        - title
      type: object
      properties:
        title:
          type: string
        priority:
          type: integer
          format: int32
          nullable: true
          x-omitempty: true
        provider:
          type: string
          nullable: true
          x-omitempty: true
        service:
          type: string
          nullable: true
          x-omitempty: true
        workspace_token:
          type: string
        periods:
          type: array
          description: The periods for the ScenarioModel.
          items:
            required:
              - amount
              - amount_type
              - start_at
            type: object
            properties:
              start_at:
                type: string
                format: date
              end_at:
                type: string
                format: date
                nullable: true
                x-omitempty: true
              amount:
                type: number
                format: double
              amount_type:
                type: string
                enum:
                  - dollar
                  - percent
      description: Create a ScenarioModel.
    ScenarioModel:
      required:
        - created_at
        - created_by_token
        - periods
        - priority
        - provider
        - service
        - title
        - token
        - updated_at
        - workspace_token
      type: object
      properties:
        token:
          type: string
          nullable: false
        title:
          type: string
          nullable: false
        priority:
          type: integer
          format: int32
          nullable: true
        workspace_token:
          type: string
          nullable: true
        provider:
          type: string
          nullable: true
        service:
          type: string
          nullable: true
        periods:
          type: array
          items:
            $ref: '#/components/schemas/ScenarioModelPeriod'
        created_by_token:
          type: string
          nullable: true
        created_at:
          type: string
          nullable: false
        updated_at:
          type: string
          nullable: false
      description: ScenarioModel model
    Errors:
      required:
        - errors
      type: object
      properties:
        links:
          $ref: '#/components/schemas/Links'
        errors:
          type: array
          nullable: false
          items:
            type: string
      description: Errors model
    ScenarioModelPeriod:
      required:
        - amount
        - amount_type
        - end_at
        - start_at
      type: object
      properties:
        start_at:
          type: string
          description: The ISO 8601 start date of the period.
          nullable: false
          example: '2026-01-01'
        end_at:
          type: string
          description: The ISO 8601 end date of the period.
          nullable: true
          example: '2026-03-31'
        amount:
          type: string
          description: The period amount as a string to preserve decimal precision.
          nullable: false
          example: '1250.75'
        amount_type:
          type: string
          description: Whether the amount is in dollars or percent.
          nullable: false
          enum:
            - dollar
            - percent
    Links:
      type: object
      properties:
        self:
          type: string
          description: The URL of the current page of results.
          nullable: true
        first:
          type: string
          description: The URL of the first page of results.
          nullable: true
        next:
          type: string
          description: The URL of the next page of results, if one exists.
          nullable: true
        last:
          type: string
          description: The URL of the last page of results, if one exists.
          nullable: true
        prev:
          type: string
          description: The URL of the previous page of results, if one exists.
          nullable: true
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://console.vantage.sh/account/profile
          scopes:
            read: Grants read access
            write: Grants write access

````