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

# Managing positions

> Read, adjust, and close a user's positions.

## Read positions

```bash theme={null}
curl -s "https://api.spiralstake.xyz/v1/partner/positions/0xUSER?chainId=1" \
  -H "authorization: Bearer $SPIRAL_KEY"
```

Each position carries an `id` (the on-chain index — feeds manage builds), a globally-unique `positionId`, collateral/debt, current vs. liquidation LTV, leverage, net USD value, and live APY.

## Build a manage/close transaction

```bash theme={null}
curl -s -X POST https://api.spiralstake.xyz/v1/partner/manage/build \
  -H "authorization: Bearer $SPIRAL_KEY" -H "content-type: application/json" \
  -d '{"userAddress":"0x…","id":0,"action":"close"}'
```

### Actions

| Action              | Extra fields                                |
| ------------------- | ------------------------------------------- |
| `close`             | —                                           |
| `increase_leverage` | `desiredLtv` or `leverage`                  |
| `add_collateral`    | `payToken`, `amount`                        |
| `remove_collateral` | `amount`                                    |
| `repay`             | `payToken`, `amount`, optional `full: true` |
| `borrow`            | `amount`                                    |

The response is the same `{ approvals, tx, meta }` bundle — [sign it](/integration/guides/signing) the same way. Re-read positions after the transaction confirms to refresh your UI.
