---
title: "Cancel a port"
method: POST
path: "/v1/ports/{id}/cancel"
tags: ["ports"]
---

# Cancel a port

`POST /v1/ports/{id}/cancel`

## Request

- Base URL: `https://api.portproof.org`
- URL: `https://api.portproof.org/v1/ports/{id}/cancel`
- Auth: HTTP bearer

Pro-rata refund inside 7 days of the first monthly port, otherwise the port runs to term end. A dedicated port from the partner network always runs to term end: cancelling switches auto-renew off. Requires an `Idempotency-Key` header (CONTRACT §1): the same key with the same body within 24 h replays the stored response; a different body returns 409 `idempotency_conflict`.

## Path parameters

- `id` string, required

## Response `200`

Default Response

- object
  - `ends_at` string, date-time, required
  - `refund_cents` integer, required

## Other responses

- `404`: Default Response
- `409`: Default Response

---

[API](https://skmtc.dev/portproof/apis/portproof-api.md) · [All operations](https://skmtc.dev/portproof/apis/portproof-api/llms.txt) · [OpenAPI document](https://skmtc.dev/portproof/apis/portproof-api/revisions/4143916c0fac?raw)
