---
title: "Plan an upgrade"
method: POST
path: "/upgrades"
---

# Plan an upgrade

`POST /upgrades`

## Request

- Base URL: `https://tetheredtrust.com/v1`
- URL: `https://tetheredtrust.com/v1/upgrades`
- Auth: one of:
  - none
  - HTTP bearer

What can be upgraded on this device and with what: memory (type, slots, maximum), storage (M.2 slots, lengths, PCIe generation), power, CPU and cooling for motherboards, graphics card and cooler clearance for PC cases, plus the parts in our graph that fit (verified first) and the manufacturer's notes.

## Request body

- object
  - `model` string: The device's exact model number or name (laptop, motherboard, case, camera, tool...).
  - `id` string: Or its product id.
  - `goal` string: Optional: what the person wants, e.g. 'more memory for video editing'.

## Response `200`

OK

- object

## Other responses

- `400`: Bad input (code bad_request), or plain HTTP (https_required).
- `401`: Missing or invalid API key where one is required.
- `402`: Payment required: pay with x402 or credits and retry. Verified first, settled only for a completed decision.
- `429`: Rate limit; see Retry-After.
- `500`: Our error; retry once.
- `503`: Temporarily unavailable, or paid access is off (paid_access_off).

---

[API](https://skmtc.dev/tetheredtrust/apis/tethered-trust-api.md) · [All operations](https://skmtc.dev/tetheredtrust/apis/tethered-trust-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tetheredtrust/apis/tethered-trust-api/revisions/f737ac591159?raw)
