{"id":503,"date":"2026-02-26T15:48:23","date_gmt":"2026-02-26T15:48:23","guid":{"rendered":"https:\/\/buddyupapi-staging.us35.cdn-alpha.com\/?page_id=503"},"modified":"2026-02-26T15:48:23","modified_gmt":"2026-02-26T15:48:23","slug":"my-adventures","status":"publish","type":"page","link":"https:\/\/buddyupapi-staging.us35.cdn-alpha.com\/my-adventures\/","title":{"rendered":"My Adventures"},"content":{"rendered":"<div class=\"buddyUpPjaxContainer\" data-buddyup-pjax-container=\"1\"><style>.buddyUpAdventureCard .buddyUpMediaContainer {\n    margin-top: .5rem;\n}\n\n\/* Clickable created-adventure card layout *\/\n.buddyUpAdventureCard {\n    display: grid;\n    grid-template-columns: 220px 1fr;\n    gap: .75rem;\n    padding: .8rem;\n    margin-bottom: .8rem;\n    cursor: pointer;\n}\n\n.buddyUpAdventureCard:focus-visible {\n    outline: 2px solid var(--buddyup-color1);\n    outline-offset: 2px;\n}\n\n.buddyUpAdventureCardPreview {\n    width: 100%;\n}\n\n.buddyUpAdventureCardCover {\n    width: 100%;\n    height: 160px;\n    border-radius: 8px;\n    object-fit: cover;\n    display: block;\n}\n\n.buddyUpAdventureCardCoverPlaceholder {\n    background: rgba(0, 0, 0, .06);\n}\n\n.buddyUpAdventureCardMain {\n    min-width: 0;\n}\n\n.buddyUpAdventureCardOpenLink {\n    font-weight: 600;\n}\n\n#buddyUpTagSearchResults button {\n    width: 100%;\n}\n\n#buddyUpSelectedTags .singlePill {\n    cursor: pointer;\n}\n\n@media (max-width: 700px) {\n    #buddyUpMyAdventuresWrapper .buddyUpElWrapper {\n        padding: .7rem !important;\n    }\n\n    .buddyUpAdventureCard {\n        grid-template-columns: 1fr;\n    }\n\n    .buddyUpAdventureCardCover {\n        height: 190px;\n    }\n}\n<\/style><section id=\"buddyUpMyAdventuresWrapper\" class=\"buddyUpContainer buddyUp\">\n    <div class=\"buddyUpHeaderWrapper flexWrapper\">\n        <h1 class=\"textH1\">My Adventures<\/h1>\n        <div><a id=\"buddyUpCreateAdventurePageLink\" href=\"#\" class=\"buddyUpButton1\" style=\"margin:0;\">Create Adventure<\/a><\/div>\n    <\/div>\n\n    <div id=\"buddyUpAdventuresTabs\" class=\"buddyUpListTabs\">\n        <div class=\"buddyUpListTabButtons\" role=\"tablist\" aria-label=\"Adventures tabs\">\n            <button id=\"buddyUpAdventuresTabSearch\" type=\"button\" class=\"buddyUpButton1 buddyUpListTabButton isActive\" data-tab=\"search\" role=\"tab\" aria-selected=\"true\">Public<\/button>\n            <button id=\"buddyUpAdventuresTabMy\" type=\"button\" class=\"buddyUpButton3 buddyUpListTabButton\" data-tab=\"my\" role=\"tab\" aria-selected=\"false\">My<\/button>\n            <button id=\"buddyUpAdventuresTabTagged\" type=\"button\" class=\"buddyUpButton3 buddyUpListTabButton\" data-tab=\"tagged\" role=\"tab\" aria-selected=\"false\">Tagged<\/button>\n        <\/div>\n\n        <div class=\"buddyUpListTabPanels\">\n            <section class=\"buddyUpListTabPanel isActive\" data-tab-panel=\"search\" role=\"tabpanel\" aria-labelledby=\"buddyUpAdventuresTabSearch\">\n                <div class=\"buddyUpElWrapper\" style=\"padding:1rem;\">\n                    <form id=\"buddyUpAdventurePublicSearchForm\" class=\"buddyUpSearchSidebarSection\" style=\"margin-bottom:.85rem;\">\n                        <label for=\"buddyUpAdventurePublicSearch\">Search Public Adventures<\/label>\n                        <div class=\"buddyUpSearchButtonInput\">\n                            <input type=\"text\" id=\"buddyUpAdventurePublicSearch\" name=\"buddyUpAdventurePublicSearch\" placeholder=\"Waterfall hike\" \/>\n                            <button type=\"submit\" id=\"buddyUpAdventurePublicSearchButton\" class=\"buddyUpButton1\" aria-label=\"Search public adventures\"><i class=\"fa fa-search\"><\/i><\/button>\n                        <\/div>\n                    <\/form>\n                    <div id=\"buddyUpAdventurePublicList\"><\/div>\n                <\/div>\n            <\/section>\n\n            <section class=\"buddyUpListTabPanel\" data-tab-panel=\"my\" role=\"tabpanel\" aria-labelledby=\"buddyUpAdventuresTabMy\" hidden>\n                <div class=\"buddyUpElWrapper\" style=\"padding:1rem;\">\n                    <h2 style=\"margin-top:0;\">My Adventures<\/h2>\n                    <div id=\"buddyUpMyAdventuresList\"><\/div>\n                <\/div>\n            <\/section>\n\n            <section class=\"buddyUpListTabPanel\" data-tab-panel=\"tagged\" role=\"tabpanel\" aria-labelledby=\"buddyUpAdventuresTabTagged\" hidden>\n                <div class=\"buddyUpElWrapper\" style=\"padding:1rem;\">\n                    <h2 style=\"margin-top:0;\">Tagged Adventures<\/h2>\n                    <div class=\"textSmall\" style=\"opacity:.85; margin-bottom:.5rem;\">Use \"Hide me\" to opt out and remove your name from a tagged adventure.<\/div>\n                    <div id=\"buddyUpTaggedAdventuresList\"><\/div>\n                <\/div>\n            <\/section>\n        <\/div>\n    <\/div>\n<\/section>\n<script>(async function(){\n    const wrapper = document.getElementById('buddyUpMyAdventuresWrapper');\n    if (!wrapper) return;\n\n    const currentUser = BUDDYUP.getCurrentUser();\n    const isLoggedIn = !!(currentUser && currentUser.id);\n\n    const createPageLink = document.getElementById('buddyUpCreateAdventurePageLink');\n    const publicListEl = document.getElementById('buddyUpAdventurePublicList');\n    const myListEl = document.getElementById('buddyUpMyAdventuresList');\n    const taggedListEl = document.getElementById('buddyUpTaggedAdventuresList');\n\n    const tabsRoot = document.getElementById('buddyUpAdventuresTabs');\n    const tabButtons = tabsRoot ? tabsRoot.querySelectorAll('.buddyUpListTabButton[data-tab]') : [];\n    const tabPanels = tabsRoot ? tabsRoot.querySelectorAll('.buddyUpListTabPanel[data-tab-panel]') : [];\n\n    const publicSearchForm = document.getElementById('buddyUpAdventurePublicSearchForm');\n    const publicSearchInput = document.getElementById('buddyUpAdventurePublicSearch');\n\n    let publicRows = [];\n    let myRows = [];\n    let taggedRows = [];\n\n    if (createPageLink) {\n        createPageLink.setAttribute('href', isLoggedIn ? (buddyUpVariables.create_adventure_link || '#') : (buddyUpVariables.login_link || '#'));\n        if (!isLoggedIn) createPageLink.innerText = 'Log in to Create';\n    }\n\n    const activateTab = (tabName) => {\n        tabButtons.forEach((btn) => {\n            const active = btn.getAttribute('data-tab') === tabName;\n            btn.classList.toggle('isActive', active);\n            btn.classList.toggle('buddyUpButton1', active);\n            btn.classList.toggle('buddyUpButton3', !active);\n            btn.setAttribute('aria-selected', active ? 'true' : 'false');\n        });\n\n        tabPanels.forEach((panel) => {\n            const active = panel.getAttribute('data-tab-panel') === tabName;\n            panel.classList.toggle('isActive', active);\n            panel.hidden = !active;\n        });\n    };\n\n    tabButtons.forEach((btn) => {\n        btn.addEventListener('click', () => {\n            activateTab(String(btn.getAttribute('data-tab') || 'search'));\n        });\n    });\n\n    function buildAdventureLink(adventureId) {\n        const id = Number(adventureId);\n        if (!isFinite(id) || id <= 0) return '#';\n\n        const base = String((buddyUpVariables && buddyUpVariables.adventure_link) ? buddyUpVariables.adventure_link : '').trim();\n        if (!base) return '#';\n\n        return `${base}${base.indexOf('?') >= 0 ? (base.endsWith('?') || base.endsWith('&') ? '' : '&') : '?'}adventure_id=${id}`;\n    }\n\n    function getAdventureCoverMedia(adventure) {\n        const media = Array.isArray(adventure && adventure.media) ? adventure.media : [];\n        if (!media.length) return null;\n\n        const explicit = media.find((m) => m && (m.is_cover === true || m.cover === true || Number(m.is_cover) === 1 || Number(m.cover) === 1));\n        if (explicit && explicit.url) return explicit;\n\n        const firstImage = media.find((m) => m && m.url && String(m.type || '').toLowerCase() !== 'video');\n        if (firstImage) return firstImage;\n\n        return media.find((m) => m && m.url) || null;\n    }\n\n    function wireAdventureCardNavigation(card, url) {\n        if (!card || !url || url === '#') return;\n\n        const go = () => {\n            if (typeof BUDDYUP !== 'undefined' && typeof BUDDYUP.pjaxNavigate === 'function') {\n                BUDDYUP.pjaxNavigate(url);\n            } else {\n                window.location.href = url;\n            }\n        };\n\n        card.addEventListener('click', (e) => {\n            if (e.target && e.target.closest('a,button,input,label,select,textarea,.buddyUpAdventureCardControls,.buddyUpNoCardNav')) return;\n            go();\n        });\n\n        card.addEventListener('keydown', (e) => {\n            if (e.key === 'Enter' || e.key === ' ') {\n                e.preventDefault();\n                go();\n            }\n        });\n    }\n\n    function adventureCardHtml(adv, opts) {\n        const id = Number(adv && adv.id ? adv.id : 0);\n        const cardId = `${opts.cardPrefix}_${id}_${Math.random().toString(36).slice(2, 8)}`;\n        const detailUrl = buildAdventureLink(id);\n        const categories = Array.isArray(adv && adv.categories) ? adv.categories : [];\n        const tagNames = Array.isArray(adv && adv.tagged_user_names) ? adv.tagged_user_names : [];\n        const tags = tagNames.length ? tagNames : (Array.isArray(adv && adv.tagged_users) ? adv.tagged_users : []);\n        const coverMedia = getAdventureCoverMedia(adv);\n        const coverUrl = coverMedia && coverMedia.url ? String(coverMedia.url) : '';\n        const coverType = coverMedia && String(coverMedia.type || '').toLowerCase() === 'video' ? 'video' : 'image';\n        const bodyPreview = String((adv && adv.body) || '').replace(\/<[^>]*>\/g, ' ').trim();\n        const catsHtml = categories.map((c) => `<li class=\"singlePill textSmall\">${c}<\/li>`).join(' ');\n\n        const visibilityControls = opts.withVisibilityControls ? `\n            <div class=\"buddyUpAdventureCardControls\" style=\"display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.45rem;\">\n                <label class=\"textSmall\" style=\"display:flex;align-items:center;gap:.3rem;\">\n                    <input type=\"checkbox\" class=\"buddyUpAdventurePublicToggle\" ${adv.privacy === 'public' ? 'checked=\"checked\"' : ''} \/>\n                    Public\n                <\/label>\n                <label class=\"textSmall\" style=\"display:flex;align-items:center;gap:.3rem;\">\n                    <input type=\"checkbox\" class=\"buddyUpAdventureMapToggle\" ${Number(adv.show_on_map) === 1 ? 'checked=\"checked\"' : ''} ${adv.privacy === 'public' ? '' : 'disabled=\"disabled\"'} \/>\n                    Show on map\n                <\/label>\n                <button type=\"button\" class=\"buddyUpButton3 buddyUpAdventureSaveVisibility\" style=\"margin:0;\">Save Visibility<\/button>\n            <\/div>\n        ` : '';\n\n        const taggedControls = opts.withTaggedControls ? `\n            <label class=\"textSmall\" style=\"display:flex;align-items:center;gap:.35rem;\">\n                <input type=\"checkbox\" class=\"buddyUpAdventureHideMeToggle\" ${Number(adv.tagged_is_hidden) === 1 ? 'checked=\"checked\"' : ''} \/>\n                Hide me\n            <\/label>\n        ` : '';\n\n        return {\n            cardId,\n            detailUrl,\n            html: `\n                <div id=\"${cardId}\" class=\"buddyUpElWrapper buddyUpAdventureCard\" tabindex=\"0\" role=\"link\" aria-label=\"Open ${adv.title ? adv.title : 'adventure'}\" style=\"margin-bottom:.75rem;\">\n                    <div style=\"display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start;flex-wrap:wrap;\">\n                        <div style=\"font-weight:700;\">${adv.title ? adv.title : 'Adventure Post'}<\/div>\n                        ${taggedControls}\n                    <\/div>\n                    <div class=\"textSmall\" style=\"opacity:.8;\">${adv.created_at ? adv.created_at : ''}<\/div>\n                    <div class=\"buddyUpAdventureCardPreview\" style=\"margin-top:.5rem;\">\n                        ${coverUrl\n                            ? (coverType === 'video'\n                                ? BUDDYUP.renderVideoMediaHtml(coverUrl, { className: 'buddyUpAdventureCardCover', compact: true, title: `${adv.title ? adv.title : 'Adventure'} video` })\n                                : `<img decoding=\"async\" class=\"buddyUpAdventureCardCover\" src=\"${coverUrl}\" alt=\"${adv.title ? adv.title : 'Adventure'} cover\" \/>`)\n                            : `<div class=\"buddyUpAdventureCardCover buddyUpAdventureCardCoverPlaceholder\"><\/div>`\n                        }\n                    <\/div>\n                    ${visibilityControls}\n                    ${bodyPreview ? `<p class=\"textSmall\" style=\"opacity:.9;margin:.55rem 0 .35rem 0;\">${bodyPreview.length > 220 ? `${bodyPreview.substring(0, 220)}...` : bodyPreview}<\/p>` : ''}\n                    ${catsHtml ? `<ul class=\"buddyUpPillWrapper buddyUpList\" style=\"margin:.2rem 0 .4rem 0;\">${catsHtml}<\/ul>` : ''}\n                    ${tags.length ? `<div class=\"textSmall\" style=\"opacity:.85;margin:.2rem 0;\">Tagged users: ${tags.join(', ')}<\/div>` : ''}\n                    <div style=\"margin-top:.35rem;\"><a href=\"${detailUrl}\" class=\"buddyUpLink buddyUpAdventureCardOpenLink\">Open Adventure<\/a><\/div>\n                <\/div>\n            `\n        };\n    }\n\n    function bindAdventureCard(targetEl, adv, opts, refreshFn) {\n        const cardMeta = adventureCardHtml(adv, opts);\n        targetEl.insertAdjacentHTML('beforeend', cardMeta.html);\n\n        const card = document.getElementById(cardMeta.cardId);\n        if (!card) return;\n\n        wireAdventureCardNavigation(card, cardMeta.detailUrl);\n\n        const openLink = card.querySelector('.buddyUpAdventureCardOpenLink');\n        if (openLink) {\n            openLink.addEventListener('click', (e) => {\n                e.preventDefault();\n                if (typeof BUDDYUP !== 'undefined' && typeof BUDDYUP.pjaxNavigate === 'function') {\n                    BUDDYUP.pjaxNavigate(cardMeta.detailUrl);\n                } else {\n                    window.location.href = cardMeta.detailUrl;\n                }\n            });\n        }\n\n        const publicToggle = card.querySelector('.buddyUpAdventurePublicToggle');\n        const mapToggle = card.querySelector('.buddyUpAdventureMapToggle');\n        if (publicToggle && mapToggle) {\n            publicToggle.addEventListener('change', () => {\n                if (publicToggle.checked) {\n                    mapToggle.removeAttribute('disabled');\n                } else {\n                    mapToggle.checked = false;\n                    mapToggle.setAttribute('disabled', 'disabled');\n                }\n            });\n        }\n\n        const saveVisibilityBtn = card.querySelector('.buddyUpAdventureSaveVisibility');\n        if (saveVisibilityBtn) {\n            saveVisibilityBtn.addEventListener('click', async (e) => {\n                e.preventDefault();\n                saveVisibilityBtn.setAttribute('disabled', 'disabled');\n\n                const privacy = publicToggle && publicToggle.checked ? 'public' : 'private';\n                const showOnMap = mapToggle && mapToggle.checked ? 1 : 0;\n\n                const upd = await BUDDYUP.apiRequest('adventures-set-visibility', {\n                    adventure_id: adv.id,\n                    privacy: privacy,\n                    show_on_map: showOnMap,\n                });\n\n                saveVisibilityBtn.removeAttribute('disabled');\n\n                if (!upd || upd.status !== 'success') {\n                    BUDDYUP.openModal('Could not update visibility. Please try again.', 'Update failed', 'buddyUpAdventureVisibilityError');\n                    return;\n                }\n\n                BUDDYUP.openModal('Adventure visibility updated.', 'Success', 'buddyUpAdventureVisibilitySuccess');\n                if (typeof refreshFn === 'function') refreshFn();\n            });\n        }\n\n        const hideToggle = card.querySelector('.buddyUpAdventureHideMeToggle');\n        if (hideToggle) {\n            hideToggle.addEventListener('change', async () => {\n                hideToggle.setAttribute('disabled', 'disabled');\n                const upd = await BUDDYUP.apiRequest('adventures-set-tagged-visibility', {\n                    adventure_id: adv.id,\n                    hide_me: hideToggle.checked ? 1 : 0,\n                });\n                hideToggle.removeAttribute('disabled');\n\n                if (!upd || upd.status !== 'success') {\n                    hideToggle.checked = !hideToggle.checked;\n                    BUDDYUP.openModal('Could not update tagged visibility. Please try again.', 'Update failed', 'buddyUpAdventureTaggedVisibilityError');\n                    return;\n                }\n\n                if (typeof refreshFn === 'function') refreshFn();\n            });\n        }\n    }\n\n    function renderPublicList() {\n        if (!publicListEl) return;\n\n        const q = String((publicSearchInput && publicSearchInput.value) || '').trim().toLowerCase();\n        const rows = q\n            ? publicRows.filter((row) => {\n                const title = String(row && row.title ? row.title : '').toLowerCase();\n                const body = String(row && row.body ? row.body : '').toLowerCase();\n                const categories = (Array.isArray(row && row.categories) ? row.categories : []).join(' ').toLowerCase();\n                return title.includes(q) || body.includes(q) || categories.includes(q);\n            })\n            : publicRows;\n\n        if (!rows.length) {\n            publicListEl.innerHTML = '<div class=\"textSmall buddyUpMySectionEmpty\">No public adventures found.<\/div>';\n            return;\n        }\n\n        publicListEl.innerHTML = '';\n        rows.forEach((row) => {\n            bindAdventureCard(publicListEl, row, { cardPrefix: 'buddyUpPublicAdventure', withVisibilityControls: false, withTaggedControls: false });\n        });\n    }\n\n    function renderMyList() {\n        if (!myListEl) return;\n\n        if (!isLoggedIn) {\n            myListEl.innerHTML = `<div class=\"textSmall buddyUpMySectionEmpty\">Please <a href=\"${buddyUpVariables.login_link}\" class=\"buddyUpLink\">log in<\/a> to view your adventures.<\/div>`;\n            return;\n        }\n\n        if (!myRows.length) {\n            myListEl.innerHTML = `<div class=\"textSmall buddyUpMySectionEmpty\">No created adventures yet. <a href=\"${buddyUpVariables.create_adventure_link || '#'}\" class=\"buddyUpLink\">Create your first adventure.<\/a><\/div>`;\n            return;\n        }\n\n        myListEl.innerHTML = '';\n        myRows.forEach((row) => {\n            bindAdventureCard(myListEl, row, { cardPrefix: 'buddyUpMyAdventure', withVisibilityControls: true, withTaggedControls: false }, loadMineAndTagged);\n        });\n    }\n\n    function renderTaggedList() {\n        if (!taggedListEl) return;\n\n        if (!isLoggedIn) {\n            taggedListEl.innerHTML = `<div class=\"textSmall buddyUpMySectionEmpty\">Please <a href=\"${buddyUpVariables.login_link}\" class=\"buddyUpLink\">log in<\/a> to view tagged adventures.<\/div>`;\n            return;\n        }\n\n        if (!taggedRows.length) {\n            taggedListEl.innerHTML = '<div class=\"textSmall buddyUpMySectionEmpty\">No tagged adventures at the moment.<\/div>';\n            return;\n        }\n\n        taggedListEl.innerHTML = '';\n        taggedRows.forEach((row) => {\n            bindAdventureCard(taggedListEl, row, { cardPrefix: 'buddyUpTaggedAdventure', withVisibilityControls: false, withTaggedControls: true }, loadMineAndTagged);\n        });\n    }\n\n    async function loadPublic() {\n        if (!publicListEl) return;\n        publicListEl.innerHTML = BUDDYUP.loading('Loading public adventures');\n\n        const resp = await BUDDYUP.apiRequest('adventures-explore-map', { limit: 220 });\n        publicRows = (resp && resp.status === 'success' && Array.isArray(resp.adventures))\n            ? resp.adventures\n                .slice()\n                .sort((a, b) => {\n                    const ta = Date.parse(String(a && a.created_at ? a.created_at : '')) || 0;\n                    const tb = Date.parse(String(b && b.created_at ? b.created_at : '')) || 0;\n                    return tb - ta;\n                })\n            : [];\n\n        renderPublicList();\n    }\n\n    async function loadMineAndTagged() {\n        if (!myListEl || !taggedListEl) return;\n\n        if (!isLoggedIn) {\n            myRows = [];\n            taggedRows = [];\n            renderMyList();\n            renderTaggedList();\n            return;\n        }\n\n        myListEl.innerHTML = BUDDYUP.loading('Loading your adventures');\n        taggedListEl.innerHTML = BUDDYUP.loading('Loading tagged adventures');\n\n        const resp = await BUDDYUP.apiRequest('adventures-list-mine', { limit: 100 });\n        if (!resp || resp.status !== 'success') {\n            myRows = [];\n            taggedRows = [];\n            myListEl.innerHTML = '<div class=\"textSmall buddyUpMySectionEmpty\">Could not load adventures right now.<\/div>';\n            taggedListEl.innerHTML = '<div class=\"textSmall buddyUpMySectionEmpty\">Could not load tagged adventures right now.<\/div>';\n            return;\n        }\n\n        myRows = Array.isArray(resp.created_adventures)\n            ? resp.created_adventures\n            : (Array.isArray(resp.adventures) ? resp.adventures : []);\n\n        taggedRows = Array.isArray(resp.tagged_adventures) ? resp.tagged_adventures : [];\n\n        renderMyList();\n        renderTaggedList();\n    }\n\n    if (publicSearchForm) {\n        publicSearchForm.addEventListener('submit', (e) => {\n            e.preventDefault();\n            activateTab('search');\n            renderPublicList();\n        });\n    }\n\n    activateTab('search');\n    await loadPublic();\n    await loadMineAndTagged();\n})();\n<\/script><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/full-width-no-header.php","meta":{"footnotes":""},"class_list":["post-503","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/buddyupapi-staging.us35.cdn-alpha.com\/api\/wp\/v2\/pages\/503","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buddyupapi-staging.us35.cdn-alpha.com\/api\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/buddyupapi-staging.us35.cdn-alpha.com\/api\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/buddyupapi-staging.us35.cdn-alpha.com\/api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buddyupapi-staging.us35.cdn-alpha.com\/api\/wp\/v2\/comments?post=503"}],"version-history":[{"count":1,"href":"https:\/\/buddyupapi-staging.us35.cdn-alpha.com\/api\/wp\/v2\/pages\/503\/revisions"}],"predecessor-version":[{"id":504,"href":"https:\/\/buddyupapi-staging.us35.cdn-alpha.com\/api\/wp\/v2\/pages\/503\/revisions\/504"}],"wp:attachment":[{"href":"https:\/\/buddyupapi-staging.us35.cdn-alpha.com\/api\/wp\/v2\/media?parent=503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}