You can Delete Private & Public bins using the Delete API.

Root
https://api.jsonbin.io/v3
Route
/b/<BIN_ID>
Request Type
DELETE
Request Headers
Header Value Required
X-Master-Key <YOUR_API_KEY> No
X-Master-Key

X-Master-Key needs to be passed in-order to Delete a Private bin or a Public bin. In-order to get the key, you need to sign-up and navigate to API Keys page.

Note: One cannot Delete a Public bin without passing X-Master-Key.
Note: Deleting a bin deletes it's versions too

Basic Code Samples
curl -v\
  -H "X-Master-key: <YOUR_API_KEY>" \
  --request DELETE
    https://api.jsonbin.io/v3/b/<BIN_ID>
let req = new XMLHttpRequest();

req.onreadystatechange = () => {
  if (req.readyState == XMLHttpRequest.DONE) {
    console.log(req.responseText);
  }
};

req.open("DELETE", "https://api.jsonbin.io/v3/b/<BIN_ID>", true);
req.setRequestHeader("X-Master-Key", "<YOUR_API_KEY>");
req.send();
import requests
url = 'https://api.jsonbin.io/v3/b/<BIN_ID>'
headers = {
  'X-Master-Key': '<YOUR_API_KEY>'
}

req = requests.delete(url, json=None, headers=headers)
print(req.text)
require 'net/http'
require 'json'

uri = URI("https://api.jsonbin.io/v3/b/<BIN_ID>")
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
  req = Net::HTTP::Delete.new(uri)
  req['X-Master-Key'] = '<YOUR_API_KEY>'

  http.request(req)
end

puts res.body
Request Response
Success
200
{
  "metadata": {
    "id": "<BIN_ID>",
    "versionsDeleted": 0
  },
  "message": "Bin deleted successfully"
}
Error
400, 401, 403, 404
{
  "message": "<ERROR_MESSAGE>"
}
Status Code Error Message
401 Unauthorized
You need to pass X-Master-Key in the header
400 Unauthorized
Invalid Bin Id provided
401 Unauthorized
Invalid X-Master-Key provided
401 Unauthorized
Bin not found or it doesn't belong to your account