You can reassign a reserved IP to point it at a different Droplet. You can also unassign it from a Droplet entirely.
    
    Assigned reserved IPv4 addresses are free, but unassigned reserved IPv4 addresses are not. Learn more about reserved IP pricing.
Reassign a Reserved IP Using Automation
    
        
    
    How to Reassign a Reserved IPv4 Using the DigitalOcean CLI
- Install 
doctl, the official DigitalOcean CLI. 
- Create a personal access token and save it for use with 
doctl. 
- Use the token to grant 
doctl access to your DigitalOcean account.
 
- Finally, run 
doctl compute reserved-ip-action assign. Basic usage looks like this, but you can read the usage docs for more details:
doctl compute reserved-ip-action assign <reserved-ip> <droplet-id> [flags]
 
The following example assigns the reserved IP address 203.0.113.25 to a Droplet with the ID 386734086:
doctl compute reserved-ip-action assign 203.0.113.25 386734086
 
 
 
    How to Reassign a Reserved IPv4 Using the DigitalOcean API
- Create a personal access token and save it for use with the API.
 
- Send a POST request to 
https://api.digitalocean.com/v2/reserved_ips/{reserved_ip}/actions. 
cURL
    
        
    
Using cURL:
# Assign a Reserved IP to a Droplet
curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
  -d '{"type":"assign","droplet_id":8219222}' \
  "https://api.digitalocean.com/v2/reserved_ips/45.55.96.47/actions"
# Unassign a Reserved IP
# curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
  -d '{"type":"unassign"}' \
  "https://api.digitalocean.com/v2/reserved_ips/45.55.96.47/actions"
 
Go
    
        
    
Using Godo, the official DigitalOcean API client for Go:
import (
    "context"
    "os"
    "github.com/digitalocean/godo"
)
func main() {
    token := os.Getenv("DIGITALOCEAN_TOKEN")
    client := godo.NewFromToken(token)
    ctx := context.TODO()
  // Assign a Reserved IP to a Droplet
    action, _, err := client.ReservedIPActions.Assign(ctx, "45.55.96.47", 8219222)
  // Unassign a Reserved IP
  action, _, err := client.ReservedIPActions.Unassign(ctx, "45.55.96.47")  
}
 
Ruby
    
        
    
Using DropletKit, the official DigitalOcean API client for Ruby:
require 'droplet_kit'
token = ENV['DIGITALOCEAN_TOKEN']
client = DropletKit::Client.new(access_token: token)
# Assign a Reserved IP to a Droplet
client.reserved_ip_actions.assign(ip: '45.55.96.47', droplet_id: 8219222)
# Unassign a Reserved IP
# client.reserved_ip_actions.unassign(ip: '45.55.96.47')
 
Python
    
        
    
Using PyDo, the official DigitalOcean API client for Python:
import os
from pydo import Client
client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))
req={
  "type": "unassign"
}
resp = client.reserved_ips_actions.post(reserved_ip="49.32.13.21", body=req)
 
 
    How to Reassign a Reserved IPv6 Using the DigitalOcean CLI
- Install 
doctl, the official DigitalOcean CLI. 
- Create a personal access token and save it for use with 
doctl. 
- Use the token to grant 
doctl access to your DigitalOcean account.
 
- Finally, run 
doctl compute reserved-ipv6 assign. Basic usage looks like this, but you can read the usage docs for more details:
doctl compute reserved-ipv6 assign <reserved-ipv6> <droplet-id> [flags]
 
The following example assigns the reserved IPv6 address 5a11:a:b0a7 to a Droplet with the ID 386734086:
doctl compute reserved-ipv6 assign 5a11:a:b0a7 386734086
 
 
 
    How to Reassign a Reserved IPv6 Using the DigitalOcean API
- Create a personal access token and save it for use with the API.
 
- Send a POST request to 
https://api.digitalocean.com/v2/reserved_ipv6/{reserved_ip}/actions. 
 
Reassign a Reserved IP Using the Control Panel
    
        
    
To reassign or unassign a reserved IP from the control panel, click Networking in the main menu, then click Reserved IPs.
This page lists your reserved IPs and their assigned Droplets. Open the More menu of the reserved IP you want to reassign or unassign:
From the More menu, click Unassign to unassign the reserved IP entirely, or click Reassign and pick a new Droplet in the Search for a Droplet text box that opens. You can only reassign reserved IPs to Droplets in the same datacenter.