En línea ahora  

/v1/sidebar/

V2 sidebar — runtime read/render endpoints. The sidebar markup is owned by `\AT\ATV2Sidebar` (declarative registry at /config/atv2-sidebar.php → /libraries/atv2-sidebar.lib.php) and rendered server-side once per page load. After the initial render the client may mutate sidebar-relevant state (pin/unpin, expand/collapse a submenu, change the plans sort/group). These endpoints are how the client gets a fresh, server-canonical render after such a mutation — so layout never drifts between client and server, and the client never re-implements the markup. The complementary mutation endpoints are set_expanded (submenu collapse state) and set_plans_view (plans-block sort). Per-user bookmarks moved to /v1/bookmarks/* — they're no longer references to sidebar registry items but full {title, url, description} rows owned by the user. Auth: all endpoints accept anonymous callers and degrade gracefully (no plans block). The viewer's user id is taken from the apiv1 dispatcher's session resolution — no explicit auth params.
GET

/v1/sidebar/get_plans_render

#
Returns only the server-rendered "My Bookings" block plus the matching plans state. Used by the v2 shell to defer the expensive city-grouped travel-plans fetch until after the initial page render. Auth: plans are personal; anonymous callers receive ErrorUnauthorized.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
activeNavKey string No "" Current page's active sidebar key.
theme string No "upscale_at" Theme name; controls per-theme markup helper. Defaults to "upscale_at".
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/sidebar/get_plans_render' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'activeNavKey={{activeNavKey}}' \
  --data-urlencode 'theme={{theme}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$sidebar_get_plans_render_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.htmlstring si
$.oneOf[0].allOf[1].Payload.stateobject si
$.oneOf[0].allOf[1].Payload.state.activeKeystring si
$.oneOf[0].allOf[1].Payload.state.plans si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].sortBystring ["upcoming","name"] si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groupBy = "city" si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groupsarray si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[]object No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].cityCodestring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].cityNamestring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].emojistring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].citySlugstring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingCountinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastCountinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingAppointmentsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastAppointmentsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingBidsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastBidsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingSoldSalesinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastSoldSalesinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].bubblesobject No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].bubbles.*integer No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].hasArchivedPlansboolean si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[1]null si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/sidebar/get_plans_render",
    "RequestUserAlias": "example-user",
    "Payload": {
        "html": "synthetic-example",
        "state": {
            "activeKey": "synthetic-example",
            "plans": {
                "sortBy": "upcoming",
                "groupBy": "city",
                "groups": [],
                "hasArchivedPlans": false
            }
        }
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/sidebar/get_render

#
Returns server-canonical rendered HTML for the v2 sidebar plus the matching state struct. The client's contract is to replace the inner HTML of the sidebar aside element with Payload.html and update window.ATV2ShellState.sidebar with Payload.state — there is no client-side render, ever. Use this after any mutation that affects the sidebar's structure or data (pin/unpin, plans sort/group toggle, app added/removed). For pure active-state changes triggered by inline navigation, prefer window.ATV2Sidebar.applyActiveKey() instead — it's a DOM toggle and doesn't need a roundtrip.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
activeNavKey string No "" Current page's active sidebar key.
theme string No "upscale_at" Theme name; controls per-theme markup helper. Defaults to "upscale_at".
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/sidebar/get_render' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'activeNavKey={{activeNavKey}}' \
  --data-urlencode 'theme={{theme}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$sidebar_get_render_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.htmlstring si
$.oneOf[0].allOf[1].Payload.stateobject si
$.oneOf[0].allOf[1].Payload.state.activeKeystring si
$.oneOf[0].allOf[1].Payload.state.expanded si
$.oneOf[0].allOf[1].Payload.state.expanded.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.state.expanded.anyOf[0].*boolean No
$.oneOf[0].allOf[1].Payload.state.expanded.anyOf[1]array si
$.oneOf[0].allOf[1].Payload.state.itemsarray si
$.oneOf[0].allOf[1].Payload.state.items[]object No
$.oneOf[0].allOf[1].Payload.state.items[].keystring si
$.oneOf[0].allOf[1].Payload.state.items[].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].label_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].iconstring No
$.oneOf[0].allOf[1].Payload.state.items[].hrefstring No
$.oneOf[0].allOf[1].Payload.state.items[].rolestring No
$.oneOf[0].allOf[1].Payload.state.items[].badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].status_badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].activeboolean No
$.oneOf[0].allOf[1].Payload.state.items[].bookmark_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].bookmark_post_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].unfollow_board_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].is_pinnedboolean No
$.oneOf[0].allOf[1].Payload.state.items[].pin_sort_orderinteger No
$.oneOf[0].allOf[1].Payload.state.items[].todoboolean No
$.oneOf[0].allOf[1].Payload.state.items[].hide_when_rightbar_visibleboolean No
$.oneOf[0].allOf[1].Payload.state.items[].mobile_headerobject No
$.oneOf[0].allOf[1].Payload.state.items[].mobile_header.primarystring ["search","ticker","title","brand"] si
$.oneOf[0].allOf[1].Payload.state.items[].mobile_header.ctastring ["post","search-icon","none"] si
$.oneOf[0].allOf[1].Payload.state.items[].sort = "communities" No
$.oneOf[0].allOf[1].Payload.state.items[].submenu No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].itemsarray si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].keystring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].label_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].iconstring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].hrefstring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].rolestring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].activeboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].bookmark_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].bookmark_post_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].unfollow_board_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].is_pinnedboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].pin_sort_orderinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].conditionstring NoLegacy static submenu visibility callback identifier, retained as inert text by ToClientState.
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].persist_when_emptyboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].wrapper_attrsobject No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].wrapper_attrs.*string No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].default_expandedboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[1]null No
$.oneOf[0].allOf[1].Payload.state.plans si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].sortBystring ["upcoming","name"] si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groupBy = "city" si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groupsarray si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[]object No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].cityCodestring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].cityNamestring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].emojistring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].citySlugstring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingCountinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastCountinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingAppointmentsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastAppointmentsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingBidsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastBidsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingSoldSalesinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastSoldSalesinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].bubblesobject No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].bubbles.*integer No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].hasArchivedPlansboolean si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.state.appMenu = null si
$.oneOf[0].allOf[1].Payload.state.mobileHeaderobject si
$.oneOf[0].allOf[1].Payload.state.mobileHeader.primarystring ["search","ticker","title","brand"] si
$.oneOf[0].allOf[1].Payload.state.mobileHeader.ctastring ["post","search-icon","none"] si
$.oneOf[0].allOf[1].Payload.state.communitiesSortBystring ["latest_post","name"] si
$.oneOf[0].allOf[1].Payload.state.personalNavigationobject si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.MembershipFingerprintstring No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.CompleteScopesarray si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.CompleteScopes[]string ["status","activity"] No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.CommunityOrderFingerprintstring No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payloadPersonalNavigationBubbles si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].* No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[0]integer No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[1] = false No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[2]object No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[2].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[2].labelstring si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[1]array si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/sidebar/get_render",
    "RequestUserAlias": "example-user",
    "Payload": {
        "html": "<aside>Example navigation</aside>",
        "state": {
            "activeKey": "synthetic-example",
            "expanded": [],
            "items": [],
            "plans": {
                "sortBy": "upcoming",
                "groupBy": "city",
                "groups": [],
                "hasArchivedPlans": false
            },
            "appMenu": null,
            "mobileHeader": {
                "primary": "search",
                "cta": "post"
            },
            "communitiesSortBy": "latest_post",
            "personalNavigation": {
                "CompleteScopes": [],
                "payload": []
            }
        }
    }
}
Documentación del endpoint legible por máquinas
GET

/v1/sidebar/get_state

#
Returns the current state of the v2 sidebar — the same struct that is embedded in window.ATV2ShellState.sidebar at SSR time. Use this when the client needs to re-derive its in-memory model without re-parsing the rendered HTML. Pass the page's currently-active sidebar key as activeNavKey so the server can mark the right item active in the response. The expanded / collapsed submenu set is read server-side from the `atv2_sidebar_expanded` cookie — pass nothing for that.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
activeNavKey string No "" Current page's active sidebar key (e.g. "network", "market-data", "transactions"). Empty string when the page does not declare one.
Ejemplo de solicitud (cURL)
curl --get \
  'https://es.appointmenttrader.com/v1/sidebar/get_state' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'activeNavKey={{activeNavKey}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$sidebar_get_state_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.activeKeystring si
$.oneOf[0].allOf[1].Payload.expanded si
$.oneOf[0].allOf[1].Payload.expanded.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.expanded.anyOf[0].*boolean No
$.oneOf[0].allOf[1].Payload.expanded.anyOf[1]array si
$.oneOf[0].allOf[1].Payload.itemsarray si
$.oneOf[0].allOf[1].Payload.items[]object No
$.oneOf[0].allOf[1].Payload.items[].keystring si
$.oneOf[0].allOf[1].Payload.items[].labelstring si
$.oneOf[0].allOf[1].Payload.items[].label_keystring No
$.oneOf[0].allOf[1].Payload.items[].iconstring No
$.oneOf[0].allOf[1].Payload.items[].hrefstring No
$.oneOf[0].allOf[1].Payload.items[].rolestring No
$.oneOf[0].allOf[1].Payload.items[].badgeobject No
$.oneOf[0].allOf[1].Payload.items[].badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.items[].badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.items[].badge.value No
$.oneOf[0].allOf[1].Payload.items[].badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.items[].badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.items[].badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.items[].badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.items[].badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.items[].badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.items[].badge.tonestring No
$.oneOf[0].allOf[1].Payload.items[].badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.items[].status_badgeobject No
$.oneOf[0].allOf[1].Payload.items[].status_badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.items[].status_badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.items[].status_badge.value No
$.oneOf[0].allOf[1].Payload.items[].status_badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.items[].status_badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.items[].status_badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.items[].status_badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.items[].status_badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.items[].status_badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.items[].status_badge.tonestring No
$.oneOf[0].allOf[1].Payload.items[].status_badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.items[].activeboolean No
$.oneOf[0].allOf[1].Payload.items[].bookmark_idinteger No
$.oneOf[0].allOf[1].Payload.items[].bookmark_post_idinteger No
$.oneOf[0].allOf[1].Payload.items[].unfollow_board_idinteger No
$.oneOf[0].allOf[1].Payload.items[].is_pinnedboolean No
$.oneOf[0].allOf[1].Payload.items[].pin_sort_orderinteger No
$.oneOf[0].allOf[1].Payload.items[].todoboolean No
$.oneOf[0].allOf[1].Payload.items[].hide_when_rightbar_visibleboolean No
$.oneOf[0].allOf[1].Payload.items[].mobile_headerobject No
$.oneOf[0].allOf[1].Payload.items[].mobile_header.primarystring ["search","ticker","title","brand"] si
$.oneOf[0].allOf[1].Payload.items[].mobile_header.ctastring ["post","search-icon","none"] si
$.oneOf[0].allOf[1].Payload.items[].sort = "communities" No
$.oneOf[0].allOf[1].Payload.items[].submenu No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0]object No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].itemsarray si
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[]object No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].keystring si
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].labelstring si
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].label_keystring No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].iconstring No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].hrefstring No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].rolestring No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].badgeobject No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].badge.value No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].badge.tonestring No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].status_badgeobject No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].status_badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].status_badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].status_badge.value No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].status_badge.tonestring No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].status_badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].activeboolean No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].bookmark_idinteger No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].bookmark_post_idinteger No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].unfollow_board_idinteger No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].is_pinnedboolean No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].pin_sort_orderinteger No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].items[].conditionstring NoLegacy static submenu visibility callback identifier, retained as inert text by ToClientState.
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].persist_when_emptyboolean No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].wrapper_attrsobject No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].wrapper_attrs.*string No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[0].default_expandedboolean No
$.oneOf[0].allOf[1].Payload.items[].submenu.anyOf[1]null No
$.oneOf[0].allOf[1].Payload.plans si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].sortBystring ["upcoming","name"] si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groupBy = "city" si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groupsarray si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groups[]object No
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groups[].cityCodestring si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groups[].cityNamestring si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groups[].emojistring si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groups[].citySlugstring si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groups[].upcomingCountinteger si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groups[].pastCountinteger si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groups[].upcomingAppointmentsinteger si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groups[].pastAppointmentsinteger si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groups[].upcomingBidsinteger si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groups[].pastBidsinteger si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groups[].upcomingSoldSalesinteger si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].groups[].pastSoldSalesinteger si
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].bubblesobject No
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].bubbles.*integer No
$.oneOf[0].allOf[1].Payload.plans.anyOf[0].hasArchivedPlansboolean si
$.oneOf[0].allOf[1].Payload.plans.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.appMenu = null si
$.oneOf[0].allOf[1].Payload.mobileHeaderobject si
$.oneOf[0].allOf[1].Payload.mobileHeader.primarystring ["search","ticker","title","brand"] si
$.oneOf[0].allOf[1].Payload.mobileHeader.ctastring ["post","search-icon","none"] si
$.oneOf[0].allOf[1].Payload.communitiesSortBystring ["latest_post","name"] si
$.oneOf[0].allOf[1].Payload.personalNavigationobject si
$.oneOf[0].allOf[1].Payload.personalNavigation.MembershipFingerprintstring No
$.oneOf[0].allOf[1].Payload.personalNavigation.CompleteScopesarray si
$.oneOf[0].allOf[1].Payload.personalNavigation.CompleteScopes[]string ["status","activity"] No
$.oneOf[0].allOf[1].Payload.personalNavigation.CommunityOrderFingerprintstring No
$.oneOf[0].allOf[1].Payload.personalNavigation.payloadPersonalNavigationBubbles si
$.oneOf[0].allOf[1].Payload.personalNavigation.payload.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.personalNavigation.payload.anyOf[0].* No
$.oneOf[0].allOf[1].Payload.personalNavigation.payload.anyOf[0].*.anyOf[0]integer No
$.oneOf[0].allOf[1].Payload.personalNavigation.payload.anyOf[0].*.anyOf[1] = false No
$.oneOf[0].allOf[1].Payload.personalNavigation.payload.anyOf[0].*.anyOf[2]object No
$.oneOf[0].allOf[1].Payload.personalNavigation.payload.anyOf[0].*.anyOf[2].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.personalNavigation.payload.anyOf[0].*.anyOf[2].labelstring si
$.oneOf[0].allOf[1].Payload.personalNavigation.payload.anyOf[1]array si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/sidebar/get_state",
    "RequestUserAlias": "example-user",
    "Payload": {
        "activeKey": "synthetic-example",
        "expanded": [],
        "items": [],
        "plans": {
            "sortBy": "upcoming",
            "groupBy": "city",
            "groups": [],
            "hasArchivedPlans": false
        },
        "appMenu": null,
        "mobileHeader": {
            "primary": "search",
            "cta": "post"
        },
        "communitiesSortBy": "latest_post",
        "personalNavigation": {
            "CompleteScopes": [],
            "payload": []
        }
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/sidebar/set_communities_view

#
Persist the personal community list sort without changing My Bookings. Authenticated users only; writes the sidebar preference cookie.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
sortBy string si — "latest_post" (default) or "name".
activeNavKey string No "" Current sidebar key.
theme string No "upscale_at" Sidebar theme.
isWritingRequest bool No false Set true to save the preference.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/sidebar/set_communities_view' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'sortBy={{sortBy}}' \
  --data-urlencode 'activeNavKey={{activeNavKey}}' \
  --data-urlencode 'theme={{theme}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$sidebar_set_communities_view_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.htmlstring si
$.oneOf[0].allOf[1].Payload.stateobject si
$.oneOf[0].allOf[1].Payload.state.activeKeystring si
$.oneOf[0].allOf[1].Payload.state.expanded si
$.oneOf[0].allOf[1].Payload.state.expanded.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.state.expanded.anyOf[0].*boolean No
$.oneOf[0].allOf[1].Payload.state.expanded.anyOf[1]array si
$.oneOf[0].allOf[1].Payload.state.itemsarray si
$.oneOf[0].allOf[1].Payload.state.items[]object No
$.oneOf[0].allOf[1].Payload.state.items[].keystring si
$.oneOf[0].allOf[1].Payload.state.items[].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].label_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].iconstring No
$.oneOf[0].allOf[1].Payload.state.items[].hrefstring No
$.oneOf[0].allOf[1].Payload.state.items[].rolestring No
$.oneOf[0].allOf[1].Payload.state.items[].badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].status_badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].activeboolean No
$.oneOf[0].allOf[1].Payload.state.items[].bookmark_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].bookmark_post_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].unfollow_board_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].is_pinnedboolean No
$.oneOf[0].allOf[1].Payload.state.items[].pin_sort_orderinteger No
$.oneOf[0].allOf[1].Payload.state.items[].todoboolean No
$.oneOf[0].allOf[1].Payload.state.items[].hide_when_rightbar_visibleboolean No
$.oneOf[0].allOf[1].Payload.state.items[].mobile_headerobject No
$.oneOf[0].allOf[1].Payload.state.items[].mobile_header.primarystring ["search","ticker","title","brand"] si
$.oneOf[0].allOf[1].Payload.state.items[].mobile_header.ctastring ["post","search-icon","none"] si
$.oneOf[0].allOf[1].Payload.state.items[].sort = "communities" No
$.oneOf[0].allOf[1].Payload.state.items[].submenu No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].itemsarray si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].keystring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].label_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].iconstring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].hrefstring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].rolestring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].activeboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].bookmark_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].bookmark_post_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].unfollow_board_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].is_pinnedboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].pin_sort_orderinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].conditionstring NoLegacy static submenu visibility callback identifier, retained as inert text by ToClientState.
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].persist_when_emptyboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].wrapper_attrsobject No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].wrapper_attrs.*string No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].default_expandedboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[1]null No
$.oneOf[0].allOf[1].Payload.state.plans si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].sortBystring ["upcoming","name"] si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groupBy = "city" si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groupsarray si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[]object No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].cityCodestring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].cityNamestring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].emojistring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].citySlugstring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingCountinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastCountinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingAppointmentsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastAppointmentsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingBidsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastBidsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingSoldSalesinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastSoldSalesinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].bubblesobject No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].bubbles.*integer No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].hasArchivedPlansboolean si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.state.appMenu = null si
$.oneOf[0].allOf[1].Payload.state.mobileHeaderobject si
$.oneOf[0].allOf[1].Payload.state.mobileHeader.primarystring ["search","ticker","title","brand"] si
$.oneOf[0].allOf[1].Payload.state.mobileHeader.ctastring ["post","search-icon","none"] si
$.oneOf[0].allOf[1].Payload.state.communitiesSortBystring ["latest_post","name"] si
$.oneOf[0].allOf[1].Payload.state.personalNavigationobject si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.MembershipFingerprintstring No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.CompleteScopesarray si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.CompleteScopes[]string ["status","activity"] No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.CommunityOrderFingerprintstring No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payloadPersonalNavigationBubbles si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].* No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[0]integer No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[1] = false No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[2]object No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[2].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[2].labelstring si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[1]array si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/sidebar/set_communities_view",
    "RequestUserAlias": "example-user",
    "Payload": {
        "html": "<aside>Example navigation</aside>",
        "state": {
            "activeKey": "synthetic-example",
            "expanded": [],
            "items": [],
            "plans": {
                "sortBy": "upcoming",
                "groupBy": "city",
                "groups": [],
                "hasArchivedPlans": false
            },
            "appMenu": null,
            "mobileHeader": {
                "primary": "search",
                "cta": "post"
            },
            "communitiesSortBy": "latest_post",
            "personalNavigation": {
                "CompleteScopes": [],
                "payload": []
            }
        }
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/sidebar/set_expanded

#
Toggle the expand/collapse state of a top-level submenu and persist the choice to the user's `atv2_sidebar_expanded` cookie. Returns the post-mutation {html, state} so the client can swap the rendered nav block. The cookie is the source of truth for SSR re-renders. The shared browser runtime writes this same cookie directly; this endpoint remains available for API clients that need the cookie and rendered response together.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
itemKey string si — Submenu key (must match a sidebar item's key). Named `itemKey` rather than `key` to avoid colliding with the apiv1 dispatcher's reserved `key=` auth parameter.
expanded bool si — True to expand, false to collapse.
activeNavKey string No "" Current page's active sidebar key.
theme string No "upscale_at" Theme name; defaults to "upscale_at".
isWritingRequest bool No false Set true to actually write the cookie.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/sidebar/set_expanded' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'itemKey={{itemKey}}' \
  --data-urlencode 'expanded={{expanded}}' \
  --data-urlencode 'activeNavKey={{activeNavKey}}' \
  --data-urlencode 'theme={{theme}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$sidebar_set_expanded_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.htmlstring si
$.oneOf[0].allOf[1].Payload.stateobject si
$.oneOf[0].allOf[1].Payload.state.activeKeystring si
$.oneOf[0].allOf[1].Payload.state.expanded si
$.oneOf[0].allOf[1].Payload.state.expanded.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.state.expanded.anyOf[0].*boolean No
$.oneOf[0].allOf[1].Payload.state.expanded.anyOf[1]array si
$.oneOf[0].allOf[1].Payload.state.itemsarray si
$.oneOf[0].allOf[1].Payload.state.items[]object No
$.oneOf[0].allOf[1].Payload.state.items[].keystring si
$.oneOf[0].allOf[1].Payload.state.items[].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].label_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].iconstring No
$.oneOf[0].allOf[1].Payload.state.items[].hrefstring No
$.oneOf[0].allOf[1].Payload.state.items[].rolestring No
$.oneOf[0].allOf[1].Payload.state.items[].badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].status_badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].activeboolean No
$.oneOf[0].allOf[1].Payload.state.items[].bookmark_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].bookmark_post_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].unfollow_board_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].is_pinnedboolean No
$.oneOf[0].allOf[1].Payload.state.items[].pin_sort_orderinteger No
$.oneOf[0].allOf[1].Payload.state.items[].todoboolean No
$.oneOf[0].allOf[1].Payload.state.items[].hide_when_rightbar_visibleboolean No
$.oneOf[0].allOf[1].Payload.state.items[].mobile_headerobject No
$.oneOf[0].allOf[1].Payload.state.items[].mobile_header.primarystring ["search","ticker","title","brand"] si
$.oneOf[0].allOf[1].Payload.state.items[].mobile_header.ctastring ["post","search-icon","none"] si
$.oneOf[0].allOf[1].Payload.state.items[].sort = "communities" No
$.oneOf[0].allOf[1].Payload.state.items[].submenu No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].itemsarray si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].keystring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].label_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].iconstring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].hrefstring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].rolestring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].activeboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].bookmark_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].bookmark_post_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].unfollow_board_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].is_pinnedboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].pin_sort_orderinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].conditionstring NoLegacy static submenu visibility callback identifier, retained as inert text by ToClientState.
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].persist_when_emptyboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].wrapper_attrsobject No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].wrapper_attrs.*string No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].default_expandedboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[1]null No
$.oneOf[0].allOf[1].Payload.state.plans si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].sortBystring ["upcoming","name"] si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groupBy = "city" si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groupsarray si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[]object No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].cityCodestring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].cityNamestring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].emojistring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].citySlugstring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingCountinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastCountinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingAppointmentsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastAppointmentsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingBidsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastBidsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingSoldSalesinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastSoldSalesinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].bubblesobject No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].bubbles.*integer No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].hasArchivedPlansboolean si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.state.appMenu = null si
$.oneOf[0].allOf[1].Payload.state.mobileHeaderobject si
$.oneOf[0].allOf[1].Payload.state.mobileHeader.primarystring ["search","ticker","title","brand"] si
$.oneOf[0].allOf[1].Payload.state.mobileHeader.ctastring ["post","search-icon","none"] si
$.oneOf[0].allOf[1].Payload.state.communitiesSortBystring ["latest_post","name"] si
$.oneOf[0].allOf[1].Payload.state.personalNavigationobject si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.MembershipFingerprintstring No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.CompleteScopesarray si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.CompleteScopes[]string ["status","activity"] No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.CommunityOrderFingerprintstring No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payloadPersonalNavigationBubbles si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].* No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[0]integer No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[1] = false No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[2]object No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[2].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[2].labelstring si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[1]array si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/sidebar/set_expanded",
    "RequestUserAlias": "example-user",
    "Payload": {
        "html": "<aside>Example navigation</aside>",
        "state": {
            "activeKey": "synthetic-example",
            "expanded": [],
            "items": [],
            "plans": {
                "sortBy": "upcoming",
                "groupBy": "city",
                "groups": [],
                "hasArchivedPlans": false
            },
            "appMenu": null,
            "mobileHeader": {
                "primary": "search",
                "cta": "post"
            },
            "communitiesSortBy": "latest_post",
            "personalNavigation": {
                "CompleteScopes": [],
                "payload": []
            }
        }
    }
}
Documentación del endpoint legible por máquinas
POST

/v1/sidebar/set_plans_view

#
Persist the user's preferred sort mode for the v2 sidebar's "Your Plans" block (city-grouped appointments). The choice is written to the `atv2_sidebar_plans_view` cookie so subsequent SSR renders pick it up; the response carries the freshly-rendered {html, state} so the client can swap the rendered nav + plans without a follow-up.

Parámetros

NombreTipoObligatorioPredeterminadoDescripción
sortBy string si — Sort mode: "upcoming" (most upcoming first; default) or "name" (alphabetical city name).
activeNavKey string No "" Current page's active sidebar key.
theme string No "upscale_at" Theme name; defaults to "upscale_at".
isWritingRequest bool No false Set true to actually write the cookie.
Ejemplo de solicitud (cURL)
curl --request POST \
  'https://es.appointmenttrader.com/v1/sidebar/set_plans_view' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'sortBy={{sortBy}}' \
  --data-urlencode 'activeNavKey={{activeNavKey}}' \
  --data-urlencode 'theme={{theme}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Respuesta

JSON
See the shared response schema and synthetic example.
Campos de respuesta
CampoTipoObligatorioDescripción
$sidebar_set_plans_view_Response si
$.oneOf[0] si
$.oneOf[0].allOf[0]object si
$.oneOf[0].allOf[0].RequestUserAliasstring si
$.oneOf[0].allOf[0].RequestPathstring | null si
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" si
$.oneOf[0].allOf[0].ResponseCodeinteger si
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object si
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object si
$.oneOf[0].allOf[1].Payloadobject si
$.oneOf[0].allOf[1].Payload.htmlstring si
$.oneOf[0].allOf[1].Payload.stateobject si
$.oneOf[0].allOf[1].Payload.state.activeKeystring si
$.oneOf[0].allOf[1].Payload.state.expanded si
$.oneOf[0].allOf[1].Payload.state.expanded.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.state.expanded.anyOf[0].*boolean No
$.oneOf[0].allOf[1].Payload.state.expanded.anyOf[1]array si
$.oneOf[0].allOf[1].Payload.state.itemsarray si
$.oneOf[0].allOf[1].Payload.state.items[]object No
$.oneOf[0].allOf[1].Payload.state.items[].keystring si
$.oneOf[0].allOf[1].Payload.state.items[].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].label_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].iconstring No
$.oneOf[0].allOf[1].Payload.state.items[].hrefstring No
$.oneOf[0].allOf[1].Payload.state.items[].rolestring No
$.oneOf[0].allOf[1].Payload.state.items[].badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].status_badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].status_badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].activeboolean No
$.oneOf[0].allOf[1].Payload.state.items[].bookmark_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].bookmark_post_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].unfollow_board_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].is_pinnedboolean No
$.oneOf[0].allOf[1].Payload.state.items[].pin_sort_orderinteger No
$.oneOf[0].allOf[1].Payload.state.items[].todoboolean No
$.oneOf[0].allOf[1].Payload.state.items[].hide_when_rightbar_visibleboolean No
$.oneOf[0].allOf[1].Payload.state.items[].mobile_headerobject No
$.oneOf[0].allOf[1].Payload.state.items[].mobile_header.primarystring ["search","ticker","title","brand"] si
$.oneOf[0].allOf[1].Payload.state.items[].mobile_header.ctastring ["post","search-icon","none"] si
$.oneOf[0].allOf[1].Payload.state.items[].sort = "communities" No
$.oneOf[0].allOf[1].Payload.state.items[].submenu No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].itemsarray si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].keystring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].label_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].iconstring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].hrefstring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].rolestring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badgeobject No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.typestring ["count","money","icon","dot","status"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.bubble_keystring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[0]string No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[1]number No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[2]boolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3]object No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.value.anyOf[3].labelstring si
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.tonestring No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].status_badge.guidanceboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].activeboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].bookmark_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].bookmark_post_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].unfollow_board_idinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].is_pinnedboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].pin_sort_orderinteger No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].items[].conditionstring NoLegacy static submenu visibility callback identifier, retained as inert text by ToClientState.
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].persist_when_emptyboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].wrapper_attrsobject No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].wrapper_attrs.*string No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[0].default_expandedboolean No
$.oneOf[0].allOf[1].Payload.state.items[].submenu.anyOf[1]null No
$.oneOf[0].allOf[1].Payload.state.plans si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].sortBystring ["upcoming","name"] si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groupBy = "city" si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groupsarray si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[]object No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].cityCodestring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].cityNamestring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].emojistring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].citySlugstring si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingCountinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastCountinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingAppointmentsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastAppointmentsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingBidsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastBidsinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].upcomingSoldSalesinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].groups[].pastSoldSalesinteger si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].bubblesobject No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].bubbles.*integer No
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[0].hasArchivedPlansboolean si
$.oneOf[0].allOf[1].Payload.state.plans.anyOf[1]null si
$.oneOf[0].allOf[1].Payload.state.appMenu = null si
$.oneOf[0].allOf[1].Payload.state.mobileHeaderobject si
$.oneOf[0].allOf[1].Payload.state.mobileHeader.primarystring ["search","ticker","title","brand"] si
$.oneOf[0].allOf[1].Payload.state.mobileHeader.ctastring ["post","search-icon","none"] si
$.oneOf[0].allOf[1].Payload.state.communitiesSortBystring ["latest_post","name"] si
$.oneOf[0].allOf[1].Payload.state.personalNavigationobject si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.MembershipFingerprintstring No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.CompleteScopesarray si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.CompleteScopes[]string ["status","activity"] No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.CommunityOrderFingerprintstring No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payloadPersonalNavigationBubbles si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0]object si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].* No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[0]integer No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[1] = false No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[2]object No
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[2].codestring ["pending","answer-required"] si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[0].*.anyOf[2].labelstring si
$.oneOf[0].allOf[1].Payload.state.personalNavigation.payload.anyOf[1]array si
$.oneOf[1]object si
$.oneOf[1].RequestUserAliasstring si
$.oneOf[1].RequestPathstring | null si
$.oneOf[1].RequestStatus = "Failed" si
$.oneOf[1].ResponseCodeinteger si
$.oneOf[1].ResponseMessageAPIResponseMessage si
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null si
$.oneOf[1].ResponseMessage.oneOf[1]array si
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object si
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Ejemplo de respuesta
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/sidebar/set_plans_view",
    "RequestUserAlias": "example-user",
    "Payload": {
        "html": "<aside>Example navigation</aside>",
        "state": {
            "activeKey": "synthetic-example",
            "expanded": [],
            "items": [],
            "plans": {
                "sortBy": "upcoming",
                "groupBy": "city",
                "groups": [],
                "hasArchivedPlans": false
            },
            "appMenu": null,
            "mobileHeader": {
                "primary": "search",
                "cta": "post"
            },
            "communitiesSortBy": "latest_post",
            "personalNavigation": {
                "CompleteScopes": [],
                "payload": []
            }
        }
    }
}
Documentación del endpoint legible por máquinas