---
title: "Rotate via the per-port token URL"
method: GET
path: "/v1/r/{token}"
tags: ["public"]
---

# Rotate via the per-port token URL

`GET /v1/r/{token}`

## Request

- Base URL: `https://api.portproof.org`
- URL: `https://api.portproof.org/v1/r/{token}`
- Auth: none required

Waits for the signed rotation record (up to 180 s). 200 with the record only when the IP changed; otherwise 502 `{ reason }`.

## Path parameters

- `token` string, required

## Response `200`

Default Response

- object
  - `id` string, required
  - `port_id` string, required
  - `site_code` string, required
  - `requested_by` 'manual' | 'api' | 'token' | 'schedule' | 'health' | 'migration', required
  - `old_ip4` string, nullable, required
  - `new_ip4` string, nullable, required
  - `old_ip6_prefix` string, nullable, required
  - `new_ip6_prefix` string, nullable, required
  - `v4_is_nat64` boolean, required
  - `rotated` boolean, required
  - `attempts` integer, required
  - `elapsed_ms` integer, required
  - `reason` 'ok' | 'carrier_sticky' | 'attach_timeout' | 'driver_error' | 'cooldown', required
  - `driver` string, required
  - `carrier` string, required
  - `mcc_mnc` string, required
  - `asn` string, nullable, required
  - `geo` object, required
    - `country` string, nullable, required
    - `region` string, nullable, required
    - `sources` integer, required
  - `reputation` object, nullable, required
    - `flagged` boolean, required
    - `hosting` boolean, required
    - `scored_at` string, date-time, nullable, required
  - `sticky_window_s` integer, required
  - `ip_shared_with_own_ports` integer, required
  - `sim_contract_class` 'prepaid' | 'business' | 'm2m', required
  - `signed_at` string, date-time, required
  - `key_id` string, required
  - `attestation` 'signed' | 'observed'
  - `sig` string, required

## Other responses

- `404`: Default Response
- `429`: Default Response
- `502`: 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)
