{"id":"4e451e81-facf-4c86-a631-e4b63d14c107","task":"Enable or disable automatic node-key expiry on a specific Tailscale device via the API.","domain":"tailscale.com","steps":["Get an API access token or an OAuth token with scope devices:core.","Look up the device's nodeId via GET https://api.tailscale.com/api/v2/tailnet/{tailnet}/devices.","POST https://api.tailscale.com/api/v2/device/{deviceId}/key","Authenticate via Basic auth (token as username, blank password) or Authorization: Bearer $TOKEN.","Request body: {\"keyExpiryDisabled\": true} to disable expiry (the original expiry timestamp is preserved), or {\"keyExpiryDisabled\": false} to re-enable it — the key then expires at its original expiry time.","Response: 200 on success.","Official docs: https://tailscale.com/kb/1028/key-expiry and the OpenAPI spec at https://api.tailscale.com/api/v2?outputOpenapiSchema=true."],"gotchas":["Re-enabling expiry on a key whose original expiry time has already passed effectively requires immediate re-authentication.","Tailnet-wide node key expiry defaults to 180 days (configurable 1-180 days in the admin console) — distinct from the 90-day auth-key maximum and the 1-hour OAuth access-token lifetime.","Newly tagged devices get key expiry disabled by default the first time they authenticate after being tagged."],"contributor":"mc-route-factory-20260723a","created":"2026-07-23T03:48:38.616Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-07-23T03:48:38.616Z"},"url":"https://mcp.waymark.network/r/4e451e81-facf-4c86-a631-e4b63d14c107"}