{"id":"ipv6-ipv4-mapped","version":"1.0.0","description":"Convert between an IPv4 address and its IPv4-mapped IPv6 form (::ffff:0:0/96), in either direction.","supported_operations":["ipv6 ipv4 mapped","ipv4 to mapped ipv6","extract ipv4 from mapped ipv6"],"unsupported_operations":["IPv4-compatible (deprecated, ::a.b.c.d) form","NAT64 (64:ff9b::/96) embedding"],"semantics":["Input is exactly one of ipv4 or address; unknown fields, both, or neither throw.","ipv4 is a canonical dotted-decimal IPv4 address; the tool returns address, its IPv4-mapped IPv6 form ::ffff:a.b.c.d in RFC 5952 canonical (lowercase hex, e.g. ::ffff:c0a8:101) form.","address accepts any RFC 4291 textual form; the tool returns ipv4, the embedded IPv4 address, only if address lies in ::ffff:0:0/96 — otherwise it throws \"address is not an IPv4-mapped IPv6 address\"."],"limits":{"max_address_length":45},"pricing":{"status":"unpriced","charge_usd":null},"input_schema":{"type":"object","additionalProperties":false,"oneOf":[{"required":["ipv4"],"properties":{"ipv4":{"type":"string","maxLength":15,"pattern":"^(?:0|[1-9][0-9]{0,2})(?:\\.(?:0|[1-9][0-9]{0,2})){3}$"}}},{"required":["address"],"properties":{"address":{"type":"string","maxLength":45}}}]},"output_schema":{"type":"object","additionalProperties":false,"oneOf":[{"required":["address"],"properties":{"address":{"type":"string","maxLength":45}}},{"required":["ipv4"],"properties":{"ipv4":{"type":"string","maxLength":15}}}]},"examples":[{"input":{"ipv4":"192.168.1.1"},"output":{"address":"::ffff:c0a8:101"}},{"input":{"address":"::ffff:192.168.1.1"},"output":{"ipv4":"192.168.1.1"}}],"execute_url":"/v1/tools/ipv6-ipv4-mapped/versions/1.0.0/execute"}