ports

Rotate the egress IP

Rotates the port and waits for the Ed25519-signed rotation record (default wait=true). Own-farm ports wait up to 180 s; partner-network ports up to 30 s, because their IP change takes about a minute. On timeout, or with wait=false, the answer is 202 with rotation_id: poll GET /v1/ports/{id}/rotation/{rotation_id} for the record. Rate limit: 1 per 60 s per port, taken before the rotation starts (429 port_cooldown with retry_after). 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.

post/v1/ports/{id}/rotate

Request

  • Base URL: https://api.portproof.org
  • URL: https://api.portproof.org/v1/ports/{id}/rotate
  • Auth: HTTP bearer

Path parameters

idstring required

Request body

waitboolean

Response

Default Response

idstring required
port_idstring required
site_codestring required
requested_by'manual' | 'api' | 'token' | 'schedule' | 'health' | 'migration' required
old_ip4string nullable required
new_ip4string nullable required
old_ip6_prefixstring nullable required
new_ip6_prefixstring nullable required
v4_is_nat64boolean required
rotatedboolean required
attemptsinteger required
elapsed_msinteger required
reason'ok' | 'carrier_sticky' | 'attach_timeout' | 'driver_error' | 'cooldown' required
driverstring required
carrierstring required
mcc_mncstring required
asnstring nullable required
sticky_window_sinteger required
ip_shared_with_own_portsinteger required
sim_contract_class'prepaid' | 'business' | 'm2m' required
signed_atstring date-time required
key_idstring required
attestation'signed' | 'observed'
sigstring required

Changes

No recorded changes to this operation across all 1 revision of this API.