{"id":2405,"date":"2026-06-09T12:25:49","date_gmt":"2026-06-09T20:25:49","guid":{"rendered":"https:\/\/www.explodingkittens.biz\/community\/recipesfordisaster\/?page_id=2405"},"modified":"2026-06-10T09:57:39","modified_gmt":"2026-06-10T17:57:39","slug":"my-recipes","status":"publish","type":"page","link":"https:\/\/www.explodingkittens.biz\/community\/recipesfordisaster\/my-recipes\/","title":{"rendered":"My Recipes"},"content":{"rendered":"<div style='text-align:left' class='yasr-auto-insert-visitor'><\/div>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow+Condensed:wght@700;900&#038;family=Barlow:wght@400;500;600&#038;display=swap\" rel=\"stylesheet\">\n\n<style>\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n:root {\n  --teal:        #3a8fa8;\n  --teal-dark:   #2d7089;\n  --teal-deeper: #1e5468;\n  --teal-light:  #5aafc8;\n  --white:       #ffffff;\n  --off-white:   #f0f8fb;\n  --red:         #cc2b1d;\n  --error-red:   #d93b2b;\n  --text-main:   #1a3a45;\n  --text-muted:  #4a7a8a;\n  --text-light:  rgba(255,255,255,0.75);\n  --panel-bg:    #ffffff;\n  --panel-border:#c8e4ed;\n  --input-bg:    #f5fbfd;\n  --input-border:#a8d4e0;\n  --radius:      8px;\n  --radius-lg:   12px;\n  --font-display:'Barlow Condensed', 'Arial Narrow', Impact, sans-serif;\n  --font-body:   'Barlow', Arial, sans-serif;\n}\n\n.entry-title, .page-title, h1.title, .wp-block-post-title { display: none !important; }\n.entry-content, .page-content { padding-top: 0 !important; margin-top: 0 !important; }\n\nbody {\n  font-family: var(--font-body);\n  font-size: 15px;\n  background-color: var(--teal);\n  color: var(--text-main);\n  min-height: 100vh;\n  background-image: radial-gradient(ellipse 120% 60% at 50% 0%, rgba(255,255,255,0.07) 0%, transparent 60%);\n}\n\n.page-wrap {\n  max-width: 640px;\n  margin: 0 auto;\n  padding: 12px 20px 72px;\n}\n\n.form-header {\n  text-align: center;\n  margin-bottom: 36px;\n}\n\n.form-header h1 {\n  font-family: var(--font-display);\n  font-size: clamp(42px, 9vw, 72px);\n  font-weight: 900;\n  line-height: 1;\n  letter-spacing: 0.02em;\n  text-transform: uppercase;\n  color: var(--white);\n  text-shadow: 3px 3px 0 var(--teal-deeper), 0 2px 12px rgba(0,0,0,0.2);\n  margin-bottom: 10px;\n}\n\n.form-header .subtitle {\n  font-size: 15px;\n  color: var(--text-light);\n  max-width: 420px;\n  margin: 0 auto;\n  line-height: 1.55;\n}\n\n.panel {\n  background: var(--panel-bg);\n  border: 1px solid var(--panel-border);\n  border-radius: var(--radius-lg);\n  padding: 24px 24px 28px;\n  margin-bottom: 16px;\n  box-shadow: 0 2px 12px rgba(0,0,0,0.12);\n}\n\n.panel-heading {\n  font-family: var(--font-display);\n  font-size: 20px;\n  font-weight: 700;\n  letter-spacing: 0.06em;\n  text-transform: uppercase;\n  color: var(--white);\n  background: var(--teal-dark);\n  margin: -24px -24px 22px;\n  padding: 10px 20px;\n  border-radius: var(--radius-lg) var(--radius-lg) 0 0;\n}\n\n.field label {\n  display: block;\n  font-weight: 600;\n  font-size: 13px;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n  color: var(--text-muted);\n  margin-bottom: 6px;\n}\n\n.field input {\n  width: 100%;\n  background: var(--input-bg);\n  border: 1.5px solid var(--input-border);\n  border-radius: var(--radius);\n  color: var(--text-main);\n  font-family: var(--font-body);\n  font-size: 16px;\n  padding: 10px 14px;\n  outline: none;\n  transition: border-color 0.15s, box-shadow 0.15s;\n}\n\n.field input:focus {\n  border-color: var(--teal);\n  box-shadow: 0 0 0 3px rgba(58,143,168,0.15);\n}\n\n.field-hint {\n  display: block;\n  font-size: 12px;\n  color: var(--text-muted);\n  margin-top: 5px;\n}\n\n.btn {\n  display: inline-block;\n  font-family: var(--font-display);\n  font-size: 18px;\n  font-weight: 700;\n  letter-spacing: 0.06em;\n  text-transform: uppercase;\n  padding: 12px 32px;\n  border-radius: var(--radius);\n  border: none;\n  cursor: pointer;\n  transition: background 0.15s, transform 0.1s;\n  width: 100%;\n  margin-top: 16px;\n}\n\n.btn-primary {\n  background: var(--teal-dark);\n  color: var(--white);\n}\n\n.btn-primary:hover { background: var(--teal-deeper); }\n.btn-primary:active { transform: scale(0.98); }\n\n.btn-danger {\n  background: var(--error-red);\n  color: var(--white);\n}\n\n.btn-danger:hover { background: #b52e1e; }\n\n.btn-secondary {\n  background: transparent;\n  color: #ffffff;\n  border: 2px solid #ffffff;\n}\n\n.btn-secondary:hover { background: rgba(255,255,255,0.15); color: #ffffff; }\n\n.btn:disabled {\n  opacity: 0.5;\n  cursor: not-allowed;\n}\n\n.error-msg {\n  color: var(--error-red);\n  font-size: 13px;\n  margin-top: 8px;\n  min-height: 18px;\n}\n\n.success-msg {\n  color: #2d7a3a;\n  font-size: 13px;\n  margin-top: 8px;\n}\n\n\/* PIN display *\/\n.pin-sent-note {\n  background: var(--off-white);\n  border: 1px solid var(--panel-border);\n  border-radius: var(--radius);\n  padding: 12px 16px;\n  font-size: 14px;\n  color: var(--text-muted);\n  margin-bottom: 20px;\n}\n\n\/* Recipe list *\/\n.recipe-list {\n  list-style: none;\n  margin: 0;\n  padding: 0;\n}\n\n.recipe-item {\n  display: flex;\n  align-items: flex-start;\n  gap: 14px;\n  padding: 14px 0;\n  border-bottom: 1px solid var(--panel-border);\n}\n\n.recipe-item:last-child { border-bottom: none; }\n\n.recipe-item input[type=\"checkbox\"] {\n  width: 18px;\n  height: 18px;\n  margin-top: 2px;\n  flex-shrink: 0;\n  accent-color: var(--teal-dark);\n  cursor: pointer;\n}\n\n.recipe-item-info {\n  flex: 1;\n}\n\n.recipe-name {\n  font-weight: 600;\n  font-size: 15px;\n  color: var(--text-main);\n  display: block;\n}\n\n.recipe-pdf-link {\n  font-size: 13px;\n  color: var(--teal-dark);\n  text-decoration: none;\n  display: inline-block;\n  margin-top: 3px;\n}\n\n.recipe-pdf-link:hover { text-decoration: underline; }\n\n.select-all-row {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  margin-bottom: 16px;\n  padding-bottom: 14px;\n  border-bottom: 2px solid var(--panel-border);\n}\n\n.select-all-row label {\n  font-size: 13px;\n  font-weight: 600;\n  color: var(--text-muted);\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n  cursor: pointer;\n}\n\n.select-all-row input[type=\"checkbox\"] {\n  width: 18px;\n  height: 18px;\n  accent-color: var(--teal-dark);\n  cursor: pointer;\n}\n\n.empty-state {\n  text-align: center;\n  padding: 32px 0;\n  color: var(--text-muted);\n  font-size: 15px;\n}\n\n.confirm-overlay {\n  display: none;\n  background: rgba(30,84,104,0.92);\n  border-radius: var(--radius-lg);\n  padding: 28px 24px;\n  text-align: center;\n  color: var(--white);\n  margin-top: 16px;\n}\n\n.confirm-overlay.visible { display: block; }\n\n.confirm-overlay p {\n  font-size: 15px;\n  margin-bottom: 20px;\n  line-height: 1.5;\n}\n\n.confirm-overlay strong { color: #f5c842; }\n\n.confirm-btns {\n  display: flex;\n  gap: 12px;\n}\n\n.confirm-btns .btn { margin-top: 0; }\n\n\/* Loading spinner *\/\n.spinner {\n  display: inline-block;\n  width: 16px;\n  height: 16px;\n  border: 2px solid rgba(255,255,255,0.4);\n  border-top-color: #fff;\n  border-radius: 50%;\n  animation: spin 0.7s linear infinite;\n  margin-right: 8px;\n  vertical-align: middle;\n}\n\n@keyframes spin { to { transform: rotate(360deg); } }\n\n.hidden { display: none !important; }\n<\/style>\n\n<div class=\"page-wrap\">\n\n  <div class=\"form-header\">\n    <h1>My Recipes<\/h1>\n    <p class=\"subtitle\">View and manage the recipes you&#8217;ve submitted to the Recipes for Disaster Digital Library.<\/p>\n  <\/div>\n\n  <!-- State 1: Email -->\n  <div id=\"state-email\" class=\"panel\">\n    <div class=\"panel-heading\">Enter your email<\/div>\n    <div class=\"field\">\n      <label for=\"mr-email\">Email address<\/label>\n      <input type=\"email\" id=\"mr-email\" placeholder=\"you@example.com\" autocomplete=\"email\">\n      <span class=\"field-hint\">Use the email you submitted your recipe with. We&#8217;ll send you a one-time PIN.<\/span>\n    <\/div>\n    <div class=\"error-msg\" id=\"email-error\"><\/div>\n    <button class=\"btn btn-primary\" id=\"btn-send-pin\">Send PIN<\/button>\n  <\/div>\n\n  <!-- State 2: PIN -->\n  <div id=\"state-pin\" class=\"panel hidden\">\n    <div class=\"panel-heading\">Enter your PIN<\/div>\n    <div class=\"pin-sent-note\" id=\"pin-sent-note\">A 6-digit PIN has been sent to <strong><\/strong>. It expires in 15 minutes.<\/div>\n    <div class=\"field\">\n      <label for=\"mr-pin\">PIN<\/label>\n      <input type=\"text\" id=\"mr-pin\" placeholder=\"000000\" maxlength=\"6\" inputmode=\"numeric\" autocomplete=\"one-time-code\">\n    <\/div>\n    <div class=\"error-msg\" id=\"pin-error\"><\/div>\n    <button class=\"btn btn-primary\" id=\"btn-verify-pin\">Verify PIN<\/button>\n    <button class=\"btn btn-secondary\" id=\"btn-resend-pin\">Send a new PIN<\/button>\n  <\/div>\n\n  <!-- State 3: Recipe list -->\n  <div id=\"state-recipes\" class=\"panel hidden\">\n    <div class=\"panel-heading\">Your recipes<\/div>\n\n    <div id=\"no-recipes\" class=\"empty-state hidden\">\n      <p>No recipes found for this email address.<\/p>\n    <\/div>\n\n    <div id=\"recipe-list-wrap\">\n      <div class=\"select-all-row\">\n        <input type=\"checkbox\" id=\"select-all\">\n        <label for=\"select-all\">Select all<\/label>\n      <\/div>\n      <ul class=\"recipe-list\" id=\"recipe-list\"><\/ul>\n    <\/div>\n\n    <div class=\"error-msg\" id=\"delete-error\"><\/div>\n\n    <button class=\"btn btn-danger hidden\" id=\"btn-delete\">Delete selected<\/button>\n\n    <div class=\"confirm-overlay\" id=\"confirm-overlay\">\n      <p>You are about to permanently delete <strong id=\"confirm-count\"><\/strong>. This cannot be undone.<\/p>\n      <div class=\"confirm-btns\">\n        <button class=\"btn btn-danger\" id=\"btn-confirm-delete\">Yes, delete<\/button>\n        <button class=\"btn btn-secondary\" id=\"btn-cancel-delete\">Cancel<\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n\n<\/div>\n\n<script>\n(function() {\n\n  var WEBHOOK_PIN_REQUEST = 'https:\/\/hook.us1.make.com\/p85p2kj3b881nqw6bflfa6c4k2o3hdn4';\n  var WEBHOOK_VERIFY_PIN  = 'https:\/\/hook.us1.make.com\/ef33iecro9f96j1w3e5u8p2f8o16zvwe';\n  var WEBHOOK_DELETE      = 'https:\/\/hook.us1.make.com\/ibgr2q3vfd9uvddop2fmj5hxp4drcn3t';\n\n  var sessionEmail = '';\n  var sessionPin   = '';\n  var recipes      = [];\n\n  function show(id) {\n    ['state-email','state-pin','state-recipes'].forEach(function(s) {\n      document.getElementById(s).classList.add('hidden');\n    });\n    document.getElementById(id).classList.remove('hidden');\n  }\n\n  function setLoading(btn, loading, label) {\n    btn.disabled = loading;\n    btn.innerHTML = loading ? '<span class=\"spinner\"><\/span>Working...' : label;\n  }\n\n  function clearSession() {\n    sessionStorage.removeItem('rfd_email');\n    sessionStorage.removeItem('rfd_pin');\n  }\n\n  function fetchRecipes() {\n    show('state-recipes');\n    fetch(WEBHOOK_VERIFY_PIN + '?email=' + encodeURIComponent(sessionEmail) + '&pin=' + encodeURIComponent(sessionPin), {\n      method: 'POST'\n    })\n    .then(function(r) { return r.json(); })\n    .then(function(data) {\n      if (data.success) {\n        recipes = data.recipes || [];\n        renderRecipes();\n      } else {\n        clearSession();\n        show('state-email');\n      }\n    })\n    .catch(function() {\n      clearSession();\n      show('state-email');\n    });\n  }\n\n  \/\/ --- Auto-resume from sessionStorage ---\n  var savedEmail = sessionStorage.getItem('rfd_email');\n  if (savedEmail) {\n    sessionEmail = savedEmail;\n    sessionPin = sessionStorage.getItem('rfd_pin');\n    fetchRecipes();\n  }\n\n  \/\/ --- State 1: Send PIN ---\n  document.getElementById('btn-send-pin').addEventListener('click', function() {\n    var email = document.getElementById('mr-email').value.trim();\n    var errEl = document.getElementById('email-error');\n    errEl.textContent = '';\n    if (!email || !\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) {\n      errEl.textContent = 'Please enter a valid email address.';\n      return;\n    }\n    sendPin(email, this);\n  });\n\n  function sendPin(email, btn) {\n    setLoading(btn, true, 'Send PIN');\n    fetch(WEBHOOK_PIN_REQUEST + '?email=' + encodeURIComponent(email), {\n      method: 'POST'\n    })\n    .then(function(r) { return r.json(); })\n    .then(function(data) {\n      setLoading(btn, false, 'Send PIN');\n      if (data.success) {\n        sessionEmail = email;\n        document.querySelector('#pin-sent-note strong').textContent = email;\n        document.getElementById('mr-pin').value = '';\n        document.getElementById('pin-error').textContent = '';\n        show('state-pin');\n        document.getElementById('mr-pin').focus();\n      } else if (data.error === 'no_recipes') {\n        document.getElementById('email-error').textContent = 'No recipes found for that email address.';\n      } else {\n        document.getElementById('email-error').textContent = 'Something went wrong. Please try again.';\n      }\n    })\n    .catch(function() {\n      setLoading(btn, false, 'Send PIN');\n      document.getElementById('email-error').textContent = 'Could not connect. Please try again.';\n    });\n  }\n\n  \/\/ --- State 2: Verify PIN ---\n  document.getElementById('btn-verify-pin').addEventListener('click', function() {\n    var pin = document.getElementById('mr-pin').value.trim();\n    var errEl = document.getElementById('pin-error');\n    errEl.textContent = '';\n    if (!pin || pin.length !== 6) {\n      errEl.textContent = 'Please enter your 6-digit PIN.';\n      return;\n    }\n    var btn = this;\n    setLoading(btn, true, 'Verify PIN');\n    fetch(WEBHOOK_VERIFY_PIN + '?email=' + encodeURIComponent(sessionEmail) + '&pin=' + encodeURIComponent(pin), {\n      method: 'POST'\n    })\n    .then(function(r) { return r.json(); })\n    .then(function(data) {\n      setLoading(btn, false, 'Verify PIN');\n      if (data.success) {\n        sessionPin = pin;\n        sessionStorage.setItem('rfd_email', sessionEmail);\n        sessionStorage.setItem('rfd_pin', sessionPin);\n        recipes = data.recipes || [];\n        renderRecipes();\n        show('state-recipes');\n      } else {\n        errEl.textContent = 'Incorrect or expired PIN. Please try again or request a new one.';\n      }\n    })\n    .catch(function() {\n      setLoading(btn, false, 'Verify PIN');\n      errEl.textContent = 'Could not connect. Please try again.';\n    });\n  });\n\n  document.getElementById('btn-resend-pin').addEventListener('click', function() {\n    clearSession();\n    sendPin(sessionEmail, document.getElementById('btn-send-pin'));\n    show('state-email');\n  });\n\n  \/\/ --- State 3: Recipe list ---\n  function renderRecipes() {\n    var list = document.getElementById('recipe-list');\n    var wrap = document.getElementById('recipe-list-wrap');\n    var noRecipes = document.getElementById('no-recipes');\n    var deleteBtn = document.getElementById('btn-delete');\n\n    list.innerHTML = '';\n\n    if (!recipes.length) {\n      wrap.classList.add('hidden');\n      noRecipes.classList.remove('hidden');\n      deleteBtn.classList.add('hidden');\n      return;\n    }\n\n    noRecipes.classList.add('hidden');\n    wrap.classList.remove('hidden');\n\n    recipes.forEach(function(r) {\n      var li = document.createElement('li');\n      li.className = 'recipe-item';\n      li.innerHTML =\n        '<input type=\"checkbox\" class=\"recipe-check\" data-id=\"' + r.id + '\">' +\n        '<div class=\"recipe-item-info\">' +\n          '<span class=\"recipe-name\">' + escapeHtml(r.name) + '<\/span>' +\n          (r.pdf ? '<a class=\"recipe-pdf-link\" href=\"' + escapeHtml(r.pdf) + '\" target=\"_blank\" rel=\"noopener\">View recipe card PDF<\/a>' : '') +\n        '<\/div>';\n      list.appendChild(li);\n    });\n\n    updateDeleteButton();\n\n    list.querySelectorAll('.recipe-check').forEach(function(cb) {\n      cb.addEventListener('change', updateDeleteButton);\n    });\n  }\n\n  function updateDeleteButton() {\n    var checked = document.querySelectorAll('.recipe-check:checked').length;\n    var btn = document.getElementById('btn-delete');\n    if (checked > 0) {\n      btn.classList.remove('hidden');\n      btn.textContent = 'Delete ' + checked + ' recipe' + (checked === 1 ? '' : 's');\n    } else {\n      btn.classList.add('hidden');\n    }\n    document.getElementById('confirm-overlay').classList.remove('visible');\n  }\n\n  document.getElementById('select-all').addEventListener('change', function() {\n    document.querySelectorAll('.recipe-check').forEach(function(cb) {\n      cb.checked = document.getElementById('select-all').checked;\n    });\n    updateDeleteButton();\n  });\n\n  document.getElementById('btn-delete').addEventListener('click', function() {\n    var checked = document.querySelectorAll('.recipe-check:checked').length;\n    document.getElementById('confirm-count').textContent =\n      checked + ' recipe' + (checked === 1 ? '' : 's');\n    document.getElementById('confirm-overlay').classList.add('visible');\n    document.getElementById('delete-error').textContent = '';\n  });\n\n  document.getElementById('btn-cancel-delete').addEventListener('click', function() {\n    document.getElementById('confirm-overlay').classList.remove('visible');\n  });\n\n  document.getElementById('btn-confirm-delete').addEventListener('click', function() {\n    var ids = [];\n    document.querySelectorAll('.recipe-check:checked').forEach(function(cb) {\n      ids.push(cb.getAttribute('data-id'));\n    });\n    var btn = this;\n    setLoading(btn, true, 'Yes, delete');\n    var deleteParams = '?email=' + encodeURIComponent(sessionEmail) + '&pin=' + encodeURIComponent(sessionPin);\n    ids.forEach(function(id) { deleteParams += '&recordId=' + encodeURIComponent(id); });\n    fetch(WEBHOOK_DELETE + deleteParams, {\n      method: 'POST'\n    })\n    .then(function(r) { return r.json(); })\n    .then(function(data) {\n      setLoading(btn, false, 'Yes, delete');\n      if (data.success) {\n        recipes = recipes.filter(function(r) { return ids.indexOf(r.id) === -1; });\n        document.getElementById('select-all').checked = false;\n        renderRecipes();\n        document.getElementById('confirm-overlay').classList.remove('visible');\n      } else {\n        document.getElementById('delete-error').textContent = 'Something went wrong. Please try again.';\n        document.getElementById('confirm-overlay').classList.remove('visible');\n      }\n    })\n    .catch(function() {\n      setLoading(btn, false, 'Yes, delete');\n      document.getElementById('delete-error').textContent = 'Could not connect. Please try again.';\n      document.getElementById('confirm-overlay').classList.remove('visible');\n    });\n  });\n\n  function escapeHtml(str) {\n    return String(str).replace(\/&\/g,'&amp;').replace(\/<\/g,'&lt;').replace(\/>\/g,'&gt;').replace(\/\"\/g,'&quot;');\n  }\n\n})();\n<\/script>\n<div style='text-align:left' class='yasr-auto-insert-visitor'><\/div>","protected":false},"excerpt":{"rendered":"<p>My Recipes View and manage the recipes you&#8217;ve submitted to the Recipes for Disaster Digital Library. Enter your email Email address Use the email you submitted your recipe with. We&#8217;ll send you a one-time PIN. Send PIN Enter your PIN A 6-digit PIN has been sent to . It expires in 15 minutes. PIN Verify&#8230;<\/p>\n<p class=\"more-link-wrap\"><a href=\"https:\/\/www.explodingkittens.biz\/community\/recipesfordisaster\/my-recipes\/\" class=\"more-link\">Read More<span class=\"screen-reader-text\"> &ldquo;My Recipes&rdquo;<\/span> &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"yasr_overall_rating":0,"yasr_post_is_review":"","yasr_auto_insert_disabled":"","yasr_review_type":"","yasr_pro_reviews_in_comment_enabled":0,"footnotes":""},"class_list":["post-2405","page","type-page","status-publish","hentry"],"acf":[],"number_of_players":null,"_number_of_players":null,"description":null,"_description":null,"starting_hand_size":null,"_starting_hand_size":null,"rating":null,"_rating":null,"yasr_visitor_votes":{"stars_attributes":{"read_only":false,"span_bottom":false},"number_of_votes":0,"sum_votes":0},"_links":{"self":[{"href":"https:\/\/www.explodingkittens.biz\/community\/recipesfordisaster\/wp-json\/wp\/v2\/pages\/2405","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.explodingkittens.biz\/community\/recipesfordisaster\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.explodingkittens.biz\/community\/recipesfordisaster\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.explodingkittens.biz\/community\/recipesfordisaster\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.explodingkittens.biz\/community\/recipesfordisaster\/wp-json\/wp\/v2\/comments?post=2405"}],"version-history":[{"count":7,"href":"https:\/\/www.explodingkittens.biz\/community\/recipesfordisaster\/wp-json\/wp\/v2\/pages\/2405\/revisions"}],"predecessor-version":[{"id":2429,"href":"https:\/\/www.explodingkittens.biz\/community\/recipesfordisaster\/wp-json\/wp\/v2\/pages\/2405\/revisions\/2429"}],"wp:attachment":[{"href":"https:\/\/www.explodingkittens.biz\/community\/recipesfordisaster\/wp-json\/wp\/v2\/media?parent=2405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}