Upsun Autoscaling API

Upsun provides native support for autoscaling, allowing your applications to automatically adjust based on resource usage. This ensures that your apps remain responsive under load while helping you optimize costs. You can configure thresholds for metrics such as CPU, RAM, and request latency. Resources will automatically scale to meet demand. Each container profile assigned to an application or service provides a specific combination of CPU and RAM, which you can select via the Upsun UI or CLI. These endpoints manage autoscaling configurations that are tied to a specific environment, and optionally to its child environments. You can define scaling rules based on metrics like CPU, memory, or request latency, and these rules will be applied at both build time and runtime. For more information on configuring autoscaling for your environments, see the [Autoscaling](https://docs.upsun.com/manage-resources/autoscaling.html) section of the documentation.

Business capability
Capacity & Performance Management BC-4220.50

Operations 3

GET /projects/{projectId}/environments/{environmentId}/autoscaling/settings Retrieves Autoscaler settings #
POST /projects/{projectId}/environments/{environmentId}/autoscaling/settings Updates Autoscaler settings #
PATCH /projects/{projectId}/environments/{environmentId}/autoscaling/settings Modifies Autoscaler settings #

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/upsun-autoscaling-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

upsun-autoscaling-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Upsun.com Rest Autoscaling API
  version: '1.0'
  contact:
    name: Support
    url: https://upsun.com/contact-us/
  termsOfService: https://upsun.com/trust-center/legal/tos/
  description: '# Introduction


    Upsun, formerly Platform.sh, is a container-based Platform-as-a-Service.'
  x-logo:
    url: https://docs.upsun.com/images/upsun-api.svg
    href: https://upsun.com/#section/Introduction
    altText: Upsun logo
servers:
- url: '{schemes}://api.upsun.com'
  description: The Upsun.com API gateway
  variables:
    schemes:
      default: https
security:
- OAuth2: []
tags:
- name: Autoscaling
  description: Upsun provides native support for autoscaling, allowing your applications to automatically adjust based on resource usage.
paths:
  /projects/{projectId}/environments/{environmentId}/autoscaling/settings:
    get:
      tags:
      - Autoscaling
      operationId: get-autoscaler-settings
      parameters:
      - name: projectId
        in: path
        description: A string that uniquely identifies the project
        required: true
        schema:
          type: string
      - name: environmentId
        in: path
        description: A string that uniquely identifies the project environment
        required: true
        schema:
          type: string
      responses:
        default:
          description: Autoscaler settings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutoscalerSettings'
      summary: Retrieves Autoscaler settings
    post:
      tags:
      - Autoscaling
      operationId: post-autoscaler-settings
      parameters:
      - name: projectId
        in: path
        description: A string that uniquely identifies the project
        required: true
        schema:
          type: string
      - name: environmentId
        in: path
        description: A string that uniquely identifies the project environment
        required: true
        schema:
          type: string
      requestBody:
        description: Settings to update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutoscalerSettings'
      responses:
        '200':
          description: Updated Autoscaler settings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutoscalerSettings'
      summary: Updates Autoscaler settings
    patch:
      tags:
      - Autoscaling
      operationId: patch-autoscaler-settings
      parameters:
      - name: projectId
        in: path
        description: A string that uniquely identifies the project
        required: true
        schema:
          type: string
      - name: environmentId
        in: path
        description: A string that uniquely identifies the project environment
        required: true
        schema:
          type: string
      requestBody:
        description: Settings to modify
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AutoscalerSettings'
      responses:
        '200':
          description: Updated Autoscaler settings
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AutoscalerSettings'
      summary: Modifies Autoscaler settings
components:
  schemas:
    AutoscalerServiceSettings:
      description: Autoscaling settings for a specific service
      properties:
        triggers:
          allOf:
          - description: Metrics should be evaluated as triggers for autoscaling
          - $ref: '#/components/schemas/AutoscalerTriggers'
        instances:
          allOf:
          - description: Lower/Upper bounds on number of instances for horizontal scaling
          - $ref: '#/components/schemas/AutoscalerInstances'
        resources:
          allOf:
          - description: Lower/Upper bounds on cpu/memory for vertical scaling
          - $ref: '#/components/schemas/AutoscalerResources'
        scale_factor:
          allOf:
          - description: How many instances to add/remove on each scaling attempt
          - $ref: '#/components/schemas/AutoscalerScalingFactor'
        scale_cooldown:
          allOf:
          - description: How long to wait before the next scaling attempt can be performed
          - $ref: '#/components/schemas/AutoscalerScalingCooldown'
      title: AutoscalerServiceSettings
      type: object
    AutoscalerScalingFactor:
      description: Scaling factor settings
      properties:
        up:
          description: Number of instances to add when scaling up horizontally
          minimum: 0
          title: Up
          type: integer
        down:
          description: Number of instances to remove when scaling down horizontally
          minimum: 0
          title: Down
          type: integer
      title: AutoscalerScalingFactor
      type: object
    AutoscalerInstances:
      description: Horizontal scaling settings
      properties:
        min:
          description: Minimum number of instances when scaling down horizontally
          title: Min
          type: integer
        max:
          description: Maximum number of instances when scaling up horizontally
          title: Max
          type: integer
      title: AutoscalerInstances
      type: object
    AutoscalerMemoryTrigger:
      description: 'Memory resource trigger settings.


        When memory usage goes below lower bound, service will be scaled down.

        When memory usage goes above upper bound, service will be scaled up.'
      properties:
        enabled:
          type:
          - boolean
          - 'null'
          title: Enabled
          description: Whether the trigger is enabled
        down:
          allOf:
          - description: Lower bound on resource usage
          - $ref: '#/components/schemas/AutoscalerCondition'
        up:
          allOf:
          - description: Upper bound on resource usage
          - $ref: '#/components/schemas/AutoscalerCondition'
      title: AutoscalerMemoryTrigger
      type: object
    AutoscalerCPUResources:
      description: CPU scaling settings
      properties:
        min:
          description: Minimum CPUs when scaling down vertically
          minimum: 0
          title: Min
          type: number
        max:
          description: Maximum CPUs when scaling up vertically
          minimum: 0
          title: Max
          type: number
      title: AutoscalerCPUResources
      type: object
    AutoscalerTriggers:
      additionalProperties: false
      description: Scaling triggers settings
      properties:
        cpu:
          type:
          - object
          - 'null'
          additionalProperties:
            $ref: '#/components/schemas/AutoscalerCPUTrigger'
          description: Settings for scaling based on CPU usage
        memory:
          type:
          - object
          - 'null'
          additionalProperties:
            $ref: '#/components/schemas/AutoscalerMemoryTrigger'
          description: Settings for scaling based on Memory usage
        cpu_pressure:
          type:
          - object
          - 'null'
          additionalProperties:
            $ref: '#/components/schemas/AutoscalerCPUPressureTrigger'
          description: Settings for scaling based on CPU pressure
        memory_pressure:
          type:
          - object
          - 'null'
          additionalProperties:
            $ref: '#/components/schemas/AutoscalerMemoryPressureTrigger'
          description: Settings for scaling based on Memory pressure
      title: AutoscalerTriggers
      type: object
    AutoscalerCPUPressureTrigger:
      description: 'CPU pressure trigger settings.


        When CPU pressure goes below lower bound, service will be scaled down.

        When CPU pressure goes above upper bound, service will be scaled up.'
      properties:
        enabled:
          type:
          - boolean
          - 'null'
          title: Enabled
          description: Whether the trigger is enabled
        down:
          allOf:
          - description: Lower bound on resource usage
          - $ref: '#/components/schemas/AutoscalerCondition'
        up:
          allOf:
          - description: Upper bound on resource usage
          - $ref: '#/components/schemas/AutoscalerCondition'
      title: AutoscalerCPUPressureTrigger
      type: object
    AutoscalerCPUTrigger:
      description: 'CPU resource trigger settings.


        When CPU usage goes below lower bound, service will be scaled down.

        When CPU usage goes above upper bound, service will be scaled up.'
      properties:
        enabled:
          type:
          - boolean
          - 'null'
          title: Enabled
          description: Whether the trigger is enabled
        down:
          allOf:
          - description: Lower bound on resource usage
          - $ref: '#/components/schemas/AutoscalerCondition'
        up:
          allOf:
          - description: Upper bound on resource usage
          - $ref: '#/components/schemas/AutoscalerCondition'
      title: AutoscalerCPUTrigger
      type: object
    AutoscalerScalingCooldown:
      description: Scaling cooldown settings
      properties:
        up:
          description: Number of seconds to wait until scaling up can be done again (since last attempt)
          minimum: 0
          title: Up
          type: integer
        down:
          description: Number of seconds to wait until scaling down can be done again (since last attempt)
          minimum: 0
          title: Down
          type: integer
      title: AutoscalerScalingCooldown
      type: object
    AutoscalerDuration:
      enum:
      - 60
      - 120
      - 300
      - 600
      - 1800
      - 3600
      title: AutoscalerDuration
      type: integer
    AutoscalerMemoryPressureTrigger:
      description: 'Memory pressure trigger settings.


        When memory pressure goes below lower bound, service will be scaled down.

        When memory pressure goes above upper bound, service will be scaled up.'
      properties:
        enabled:
          type:
          - boolean
          - 'null'
          title: Enabled
          description: Whether the trigger is enabled
        down:
          allOf:
          - description: Lower bound on resource usage
          - $ref: '#/components/schemas/AutoscalerCondition'
        up:
          allOf:
          - description: Upper bound on resource usage
          - $ref: '#/components/schemas/AutoscalerCondition'
      title: AutoscalerMemoryPressureTrigger
      type: object
    AutoscalerSettings:
      description: 'Update model for autoscaling settings.


        This model is mainly used for partial updates (PATCH), therefore all its

        attributes are optional.'
      properties:
        services:
          additionalProperties:
            type:
            - object
            - 'null'
            additionalProperties:
              $ref: '#/components/schemas/AutoscalerServiceSettings'
          type:
          - object
          - 'null'
          title: Services
          description: Each service for which autoscaling is configured is listed in the key
      title: AutoscalerSettings
      type: object
    AutoscalerMemoryResources:
      description: Memory scaling settings
      properties:
        min:
          description: Minimum memory (bytes) when scaling down vertically
          minimum: 0
          title: Min
          type: integer
        max:
          description: Maximum memory (bytes) when scaling up vertically
          minimum: 0
          title: Max
          type: integer
      title: AutoscalerMemoryResources
      type: object
    AutoscalerResources:
      description: Vertical scaling settings
      properties:
        cpu:
          type:
          - object
          - 'null'
          additionalProperties:
            $ref: '#/components/schemas/AutoscalerCPUResources'
          description: Lower/Upper bounds on CPU allocation when scaling
        memory:
          type:
          - object
          - 'null'
          additionalProperties:
            $ref: '#/components/schemas/AutoscalerMemoryResources'
          description: Lower/Upper bounds on Memory allocation when scaling
      title: AutoscalerResources
      type: object
    AutoscalerCondition:
      description: Trigger condition settings
      properties:
        threshold:
          description: Value at which the condition is satisfied
          maximum: 100
          minimum: 0
          title: Threshold
          type: number
        duration:
          allOf:
          - description: Number of seconds during which the condition must be satisfied
          - $ref: '#/components/schemas/AutoscalerDuration'
        enabled:
          type:
          - boolean
          - 'null'
          title: Enabled
          description: Whether the condition should be used for generating alerts
      required:
      - threshold
      title: AutoscalerCondition
      type: object
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          tokenUrl: https://auth.api.platform.sh/oauth2/token
          refreshUrl: https://auth.api.platform.sh/oauth2/token
          scopes: {}
          authorizationUrl: https://auth.api.platform.sh/oauth2/authorize
      description: ''
    OAuth2Admin:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.api.platform.sh/oauth2/token
          refreshUrl: ''
          scopes:
            admin: administrative operations
      description: ''
x-tagGroups:
- name: Organization Administration
  tags:
  - Organizations
  - Organization Members
  - Organization Invitations
  - Organization Projects
  - Add-ons
- name: Project Administration
  tags:
  - Project
  - Domain Management
  - Cert Management
  - Certificate Provisioner
  - Project Variables
  - Repository
  - Third-Party Integrations
  - Support
- name: Environments
  tags:
  - Environment
  - Environment Backups
  - Environment Type
  - Environment Variables
  - Routing
  - Source Operations
  - Runtime Operations
  - Deployment
  - Autoscaling
- name: User Activity
  tags:
  - Project Activity
  - Environment Activity
- name: Project Access
  tags:
  - Project Invitations
  - Teams
  - Team Access
  - User Access
- name: Account Management
  tags:
  - API Tokens
  - Connections
  - MFA
  - Users
  - User Profiles
  - SSH Keys
  - Plans
- name: Billing
  tags:
  - Organization Management
  - Subscriptions
  - Orders
  - Invoices
  - Discounts
  - Vouchers
  - Records
  - Profiles
- name: Global Info
  tags:
  - Project Discovery
  - References
  - Regions
- name: Internal APIs
  tags:
  - Project Settings
  - Environment Settings
  - Deployment Target
  - System Information
  - Container Profile