---
title: "Rotation log of a port: signed rotation records, newest first"
method: GET
path: "/v1/ports/{id}/receipts"
tags: ["ports"]
---

# Rotation log of a port: signed rotation records, newest first

`GET /v1/ports/{id}/receipts`

## Request

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

Only rotation records signed since your subscription started are visible. Cursor-paginated: `?limit=` (default 50, max 200) and `?cursor=` from the previous `next_cursor`.

## Path parameters

- `id` string, required

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

Default Response

- object
  - `data` object[], required
    - `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
  - `next_cursor` string, nullable, required

## Other responses

- `404`: 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)
