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

# Resize a Server

> Moves a stopped server to a bigger plan and charges the prorated difference to the server's billing card, else your default card. Returns `200` when paid, `202` while the payment processes. Start the server afterwards.



## OpenAPI

````yaml /api-reference/openapi.json post /servers/{server_id}/resize
openapi: 3.1.0
info:
  title: Arct Cloud API
  description: >-
    Manage Arct Cloud servers over HTTPS with an API token. Errors return an
    `error` object with `code`, `message` and `details`.
  version: 1.0.0
servers:
  - url: https://api.arct.cloud/v1
security: []
tags:
  - name: Account
    description: The account and token behind the request.
  - name: Servers
    description: List, read, create, update, power, reinstall, resize and delete servers.
  - name: Catalog
    description: Locations, plans and OS images you can order.
  - name: Invoices
    description: Your invoices.
  - name: SSH Keys
    description: Keys to install on new and reinstalled servers.
paths:
  /servers/{server_id}/resize:
    post:
      tags:
        - Servers
      summary: Resize a Server
      description: >-
        Moves a stopped server to a bigger plan and charges the prorated
        difference to the server's billing card, else your default card. Returns
        `200` when paid, `202` while the payment processes. Start the server
        afterwards.
      operationId: resize_server_servers__server_id__resize_post
      parameters:
        - name: server_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Server Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResizeServerRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResizeResponse'
        '202':
          description: >-
            Payment still processing; `GET /servers/{server_id}/resize-options`
            shows it in `pending_resize`.
        '400':
          description: '`invalid_plan`, `ineligible`.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: '`invalid_token`, `token_disabled` or `token_expired`.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: >-
            `authentication_required` (pay `details.hosted_invoice_url` within 1
            hour), `card_declined`, `no_payment_method`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: >-
            `account_disabled`, `api_access_disabled`, `insufficient_scope`,
            `billing_mismatch` (contact support).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: '`not_found`: unknown ID, or not yours.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: >-
            `price_changed` (`details.amount`), `vm_state`, `conflict`,
            `pending`, `unpaid_invoice`, `subscription_not_active`,
            `cancel_scheduled`, `cancelled`, `refund_pending`,
            `unsupported_subscription`, `unknown_plan`, `unknown_price`,
            `no_billing_period`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: '`validation_error`; see `details.fields`.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: '`rate_limit_exceeded`; see `Retry-After`.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: '`internal_error`.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: '`service_unavailable` or `billing_unavailable`; retry later.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    ResizeServerRequest:
      properties:
        plan:
          type: string
          pattern: ^[A-Za-z0-9][A-Za-z0-9_.-]{0,49}$
          title: Plan
          description: Plan slug from `GET /servers/{server_id}/resize-options`.
        expected_amount:
          anyOf:
            - type: number
              minimum: 0
            - type: string
            - type: 'null'
          title: Expected Amount
          description: >-
            The quoted `amount_due_today`; a changed price returns `409
            price_changed`. Omit to accept the current price.
      additionalProperties: false
      type: object
      required:
        - plan
      title: ResizeServerRequest
    ResizeResponse:
      properties:
        status:
          type: string
          enum:
            - applied
            - pending_payment
          title: Status
        resize_id:
          type: string
          format: uuid
          title: Resize Id
        invoice_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Invoice Id
        invoice_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Invoice Number
        amount:
          type: number
          title: Amount
          description: Charged now, in USD.
        to_plan:
          type: string
          title: To Plan
        restart_required:
          type: boolean
          title: Restart Required
          description: True if the server must be started to use the new size.
      type: object
      required:
        - status
        - resize_id
        - invoice_id
        - invoice_number
        - amount
        - to_plan
        - restart_required
      title: ResizeResponse
    ErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
      type: object
      required:
        - error
      title: ErrorResponse
    ErrorDetail:
      properties:
        code:
          type: string
          title: Code
        message:
          type: string
          title: Message
        details:
          anyOf:
            - type: object
            - type: 'null'
          title: Details
      type: object
      required:
        - code
        - message
      title: ErrorDetail
  securitySchemes:
    bearerAuth:
      type: http
      description: API token from Dashboard > Settings > API Tokens.
      scheme: bearer
      bearerFormat: arct_...

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.