Skip to content

[FEATURE] Add dry-run or quote mode for billable VPS purchase requests #48

@coygeek

Description

@coygeek

Feature Description

Please add a dry-run, quote, or validation mode for:

POST /api/vps/v1/virtual-machines

The goal is to let automation validate a purchase request and show the exact cost, billing period, currency, selected default payment method, and resulting subscription behavior before creating a billable VPS.

Problem Statement

Agentic workflows need stronger guardrails around billable API calls. Today, a client can inspect catalog items and payment methods, but the final VPS purchase endpoint is still the first place where the full request is validated against account state, payment state, item availability, data center, template, and setup options.

For automation, that creates two uncomfortable choices:

  1. Avoid the purchase endpoint entirely and require manual dashboard setup.
  2. Call a billable endpoint just to discover whether the request is valid.

Neither option is ideal for safe autonomous workflows.

Proposed Solution

Add one of these patterns:

POST /api/vps/v1/virtual-machines/quote

or:

POST /api/vps/v1/virtual-machines?dry_run=true

or a request field:

{
  "dry_run": true,
  "item_id": "hostingercom-vps-kvm2-usd-1m",
  "setup": {
    "template_id": 1130,
    "data_center_id": 19
  }
}

The response should be machine-readable and include:

  • whether the request is valid
  • exact price, currency, taxes/fees if known, first-period and renewal cost
  • billing period
  • payment method that would be used
  • whether a new subscription would be created
  • whether backups, Monarx, or other options change cost
  • any blocking validation errors

Use Cases

  • Let agents explain the cost before asking for explicit user approval.
  • Validate template/data-center/plan compatibility before a billable mutation.
  • Support CI/smoke tests that verify configuration without creating resources.
  • Avoid repeated failed billable attempts due to catalog, payment, or setup mismatches.

Additional Context

This is not asking to bypass billing confirmation. It is the opposite: a quote/dry-run endpoint would make billable workflows safer and easier to audit before execution.

Are you willing to contribute?

  • Yes, I'd like to implement this feature
  • Yes, but I need guidance
  • No, but I'm available for testing
  • No

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions