AIOProductOS spine over MCP — customers, revenue, feedback, work, analytics on one typed record.
Do not connect
A critical issue was found. Do not connect this server as-is.
Scanned 28 days ago Due for re-check
A server can change after it's graded. Re-run the automated scan to refresh this report.
This grade is deterministic and reproducible: the same server surface always yields the same grade under a given algorithm version. It is a real automated assessment computed by the MCPGrade engine from what the probe actually observed — not a fabricated or opinion score. It is not a manual human pentest, so it can miss context-specific risks.
Every signal below was measured directly by the automated probe. The grade is derived only from evidence like this — nothing is assumed.
The AIOProductOS MCP server exposes 71 tools, focused primarily on filesystem capabilities. Its published description reads: "AIOProductOS spine over MCP — customers, revenue, feedback, work, analytics on one typed record". It communicates over Streamable HTTP using the 2026-07-28 protocol revision, and does not require authorization to connect. MCPGrade currently rates AIOProductOS F — a critical issue was found and the server should not be connected as-is. Its most notable findings include "Cross-tool shadowing" and "Cross-tool shadowing". This report is a deterministic, reproducible automated assessment: the same observed surface always yields the same grade under a given algorithm version, and it is refreshed as new scans arrive and free to read — but it is not a substitute for a manual human security review. Always re-check AIOProductOS's advertised tools, transport security, and authorization posture before connecting an autonomous agent or sharing sensitive context with it.
Add AIOProductOS to an MCP client using the endpoint below. Review the grade and findings above before granting an autonomous agent access.
MCP endpoint
https://platform.aioproductos.com/api/mcpStreamable HTTP transport. This is the MCP endpoint, not a website — paste it into your MCP client server list rather than a browser.
Captured passively during the read-only scan. Click any value to find servers that match it.
The tools this server advertises via tools/list — names, purposes, and the parameters each accepts, exactly as enumerated read-only.
How to operate as a product manager on AIOProductOS. No arguments and no side effects — returns the same operating guide as plain text every call (deterministic): how to ground in the product brain, k
Show the connected AIOProductOS identity (org, member) AND the org's products (id, name, is_primary). Read-only; returns the identity plus the product list. For a multi-product org, call this first to
List the org's PM lists, statuses, members, and features as id+name pairs. Read-only; returns arrays for resolution only (list_features carries the richer catalogue). Call it to turn a name into an id
Sorted worst-first. Each finding shows its severity, what it means, its OWASP MCP Top-10 mapping, and a recommended fix — the check id links to the exact methodology row that produced it.
tool: pm_meta
A tool description tries to alter the model’s use of another tool.
to an id before create_task / update_task — never guess an id.RecommendationDescriptions must describe only their own tool.
tool: get_weekly_signal_memo
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: get_roadmap_drift
A tool description tries to alter the model’s use of another tool.
d features with list_features.RecommendationDescriptions must describe only their own tool.
tool: analyze_nps
A tool description tries to alter the model’s use of another tool.
sentiment after get_product_brain, then dig into a detractor with get_customer_36RecommendationDescriptions must describe only their own tool.
tool: analyze_nrr
A tool description tries to alter the model’s use of another tool.
g accounts into get_customer_360.RecommendationDescriptions must describe only their own tool.
tool: analyze_funnel
A tool description tries to alter the model’s use of another tool.
65). Pairs with analyze_paths to see where the drop-offs go.RecommendationDescriptions must describe only their own tool.
tool: analyze_paths
A tool description tries to alter the model’s use of another tool.
mon start (call analyze_funnel with no steps to list the event names). OptionaRecommendationDescriptions must describe only their own tool.
tool: list_tasks
A tool description tries to alter the model’s use of another tool.
olve either via pm_meta. Read-only; returns an empty list when nothingRecommendationDescriptions must describe only their own tool.
tool: get_task
A tool description tries to alter the model’s use of another tool.
e id first with list_tasks — never guess it; pair with update_task or commRecommendationDescriptions must describe only their own tool.
tool: create_task
A tool description tries to alter the model’s use of another tool.
/member ids via pm_meta and sprint_id via list_sprints — never guess thRecommendationDescriptions must describe only their own tool.
tool: create_feature
A tool description tries to alter the model’s use of another tool.
(pass one from whoami for a multi-product org). Only name is requiredRecommendationDescriptions must describe only their own tool.
tool: create_sprint
A tool description tries to alter the model’s use of another tool.
as sprint_id on create_task / update_task.RecommendationDescriptions must describe only their own tool.
tool: update_feature
A tool description tries to alter the model’s use of another tool.
olve the id via list_features; only id is required.RecommendationDescriptions must describe only their own tool.
tool: update_objective
A tool description tries to alter the model’s use of another tool.
ult's value use update_key_result.RecommendationDescriptions must describe only their own tool.
tool: update_key_result
A tool description tries to alter the model’s use of another tool.
olve the id via list_objectives (each objective carries its key_results with idRecommendationDescriptions must describe only their own tool.
tool: update_sprint
A tool description tries to alter the model’s use of another tool.
olve the id via list_sprints; only id is required.RecommendationDescriptions must describe only their own tool.
tool: update_page
A tool description tries to alter the model’s use of another tool.
olve the id via list_pages; only id is required.RecommendationDescriptions must describe only their own tool.
tool: list_initiatives
A tool description tries to alter the model’s use of another tool.
id here before create_feature / update_feature (initiative_id) or update_initRecommendationDescriptions must describe only their own tool.
tool: create_initiative
A tool description tries to alter the model’s use of another tool.
tures to it via create_feature / update_feature (initiative_id).RecommendationDescriptions must describe only their own tool.
tool: update_initiative
A tool description tries to alter the model’s use of another tool.
olve the id via list_initiatives; only id is required.RecommendationDescriptions must describe only their own tool.
tool: list_ideas
A tool description tries to alter the model’s use of another tool.
id here before update_idea / vote_idea / promote_idea.RecommendationDescriptions must describe only their own tool.
tool: create_idea
A tool description tries to alter the model’s use of another tool.
d. Grow it with vote_idea, then promote_idea turns the winner into a roadRecommendationDescriptions must describe only their own tool.
tool: update_idea
A tool description tries to alter the model’s use of another tool.
olve the id via list_ideas; only id is required.RecommendationDescriptions must describe only their own tool.
tool: vote_idea
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: promote_idea
A tool description tries to alter the model’s use of another tool.
afterwards with update_feature.RecommendationDescriptions must describe only their own tool.
tool: update_release
A tool description tries to alter the model’s use of another tool.
olve the id via list_releases; only id is required.RecommendationDescriptions must describe only their own tool.
tool: create_experiment
A tool description tries to alter the model’s use of another tool.
the PM tracker list_experiments reads, not the analytics A/B engine.RecommendationDescriptions must describe only their own tool.
tool: update_experiment
A tool description tries to alter the model’s use of another tool.
olve the id via list_experiments; only id is required.RecommendationDescriptions must describe only their own tool.
tool: list_decisions
A tool description tries to alter the model’s use of another tool.
id here before update_decision.RecommendationDescriptions must describe only their own tool.
tool: update_decision
A tool description tries to alter the model’s use of another tool.
olve the id via list_decisions; only id is required.RecommendationDescriptions must describe only their own tool.
tool: delete_task
A tool description tries to alter the model’s use of another tool.
olve the id via list_tasks and confirm intent first — prefer update_task (RecommendationDescriptions must describe only their own tool.
tool: post_to_channel
A tool description tries to alter the model’s use of another tool.
channel_id via list_channels; you can only post to channels you're a memberRecommendationDescriptions must describe only their own tool.
tool: reply_in_channel
A tool description tries to alter the model’s use of another tool.
channel_id via list_channels and the parent message's id via read_channel. cRecommendationDescriptions must describe only their own tool.
tool: reply_to_conversation
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
reply_to_conversation Reply to Support Conversation Send a public repRecommendationRemove side-channel parameters; constrain tool inputs.
tool: reply_to_conversation
A tool description tries to alter the model’s use of another tool.
l-only note use add_note; to close it use resolve_conversation.RecommendationDescriptions must describe only their own tool.
tool: add_note
A tool description tries to alter the model’s use of another tool.
ublic reply use reply_to_conversation instead.RecommendationDescriptions must describe only their own tool.
tool: resolve_conversation
A tool description tries to alter the model’s use of another tool.
ersation_id via list_conversations first. Do it after you've replied and the ask iRecommendationDescriptions must describe only their own tool.
tool: cancel_booking
A tool description tries to alter the model’s use of another tool.
celling, use reschedule_booking.RecommendationDescriptions must describe only their own tool.
tool: reschedule_booking
A tool description tries to alter the model’s use of another tool.
booking_id via list_bookings first. booking_id and start are required.RecommendationDescriptions must describe only their own tool.
tool: review_artifact
A tool description tries to alter the model’s use of another tool.
_id first — via pm_meta or list_features for a feature, list_experimentRecommendationDescriptions must describe only their own tool.
tool: list_artifact_versions
A tool description tries to alter the model’s use of another tool.
e you'd pass to review_artifact.RecommendationDescriptions must describe only their own tool.
tool: revert_to_version
A tool description tries to alter the model’s use of another tool.
RE; get it from list_artifact_versions and never guess it. Optional reason is recordedRecommendationDescriptions must describe only their own tool.
tool: update_task
A tool description tries to alter the model’s use of another tool.
/member ids via pm_meta and the list_* reads — never guess them. Only iRecommendationDescriptions must describe only their own tool.
tool: comment_on_task
A tool description tries to alter the model’s use of another tool.
ith get_task or list_tasks; both id and body are required.RecommendationDescriptions must describe only their own tool.
tool: capture_insight
A tool description tries to alter the model’s use of another tool.
account_id via get_customer_360 and feature_id via list_features and tie them wRecommendationDescriptions must describe only their own tool.
tool: list_conversations
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
list_conversations List Support Conversations List support-chat cRecommendationRemove side-channel parameters; constrain tool inputs.
tool: list_conversations
A tool description tries to alter the model’s use of another tool.
ull thread with get_conversation.RecommendationDescriptions must describe only their own tool.
tool: get_conversation
A tool description tries to alter the model’s use of another tool.
n_id first with list_conversations — never guess it.RecommendationDescriptions must describe only their own tool.
tool: list_insights
A tool description tries to alter the model’s use of another tool.
account_id via get_customer_360.RecommendationDescriptions must describe only their own tool.
tool: list_features
A tool description tries to alter the model’s use of another tool.
d — richer than pm_meta (which is just id+name for resolution). Read-onRecommendationDescriptions must describe only their own tool.
tool: list_objectives
A tool description tries to alter the model’s use of another tool.
roduct_id, from whoami.RecommendationDescriptions must describe only their own tool.
tool: list_experiments
A tool description tries to alter the model’s use of another tool.
roduct_id (from whoami) and state filter.RecommendationDescriptions must describe only their own tool.
tool: list_releases
A tool description tries to alter the model’s use of another tool.
roduct_id, from whoami.RecommendationDescriptions must describe only their own tool.
tool: list_pages
A tool description tries to alter the model’s use of another tool.
roduct_id, from whoami.RecommendationDescriptions must describe only their own tool.
tool: get_page
A tool description tries to alter the model’s use of another tool.
e id first with list_pages — never guess it.RecommendationDescriptions must describe only their own tool.
tool: get_codebase_map
A tool description tries to alter the model’s use of another tool.
roduct_id, from whoami; omit for the org's primary product.RecommendationDescriptions must describe only their own tool.
tool: list_sprints
A tool description tries to alter the model’s use of another tool.
ling a task via create_task / update_task. Optional state filter (e.g. 'actRecommendationDescriptions must describe only their own tool.
tool: list_channels
A tool description tries to alter the model’s use of another tool.
g to none. Call read_channel with a channel_id to read one.RecommendationDescriptions must describe only their own tool.
tool: read_channel
A tool description tries to alter the model’s use of another tool.
l_id first with list_channels — never guess it. Optional limit.RecommendationDescriptions must describe only their own tool.
tool: list_bookings
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
='all' for full history. {"type":"object","properties":{"include":{"typRecommendationRemove side-channel parameters; constrain tool inputs.
tool: get_device_candidates
A tool description tries to alter the model’s use of another tool.
, then act with merge_end_users.RecommendationDescriptions must describe only their own tool.
tool: list_identity_merges
A tool description tries to alter the model’s use of another tool.
t id to pass to unmerge_end_users (only un-reverted merges can be undone).RecommendationDescriptions must describe only their own tool.
tool: merge_end_users
A tool description tries to alter the model’s use of another tool.
didate ids from get_device_candidates first — never guess which users to fold togetheRecommendationDescriptions must describe only their own tool.
tool: unmerge_end_users
A tool description tries to alter the model’s use of another tool.
e event_id with list_identity_merges (pick an un-reverted merge); event_id is requirRecommendationDescriptions must describe only their own tool.
The server accepts tool enumeration (and likely invocation) with no authentication.
RecommendationRequire OAuth 2.1 authorization for any server exposing non-public tools.
tool: delete_task
The server advertises open-world / broadly-scoped capabilities.
annotations.destructiveHint = trueRecommendationScope tools to the minimum needed.
tool: reply_to_conversation
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: cancel_booking
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
tool: reschedule_booking
The server advertises open-world / broadly-scoped capabilities.
annotations.openWorldHint = trueRecommendationScope tools to the minimum needed.
The server exposes one or more ui:// (MCP Apps) resources whose HTML/JS renders inside the host client — a client-side injection / data-exposure surface most scanners ignore. Flagged for review, not damning on its own.
3 ui:// resource(s); e.g. ui://aioproductos/boardRecommendationReview each ui:// resource’s markup and scripts; treat host-rendered UI as untrusted, sandbox it, and never expose secrets or conversation context to it.
Vantaj uptime monitoring via MCP — manage monitors, heartbeats, incidents, and status pages.
Unified gateway to Algeria's TKAWEN ecosystem: commerce, certification, and AI tools.
Provides access to the Cohereon Doctrine AI safety framework with governance components, tiered access, and agent onboarding.
Agentic rails for complex workflows with receipts, fees, and MCP tool access.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
A grounded snapshot of the org's product so YOU can reason about it. Returns one JSON object with: revenue + top paying accounts (ranked by MRR), web + product analytics headline metrics, the feature
The Weekly Product Signal Memo — the last 7 days of customer signal clustered into themes (insights grouped by feature, ranked by the revenue behind them) with verbatim quotes, week-over-week deltas (
Planned vs shipped features over a window: a drift score (0-100, 100 = perfect alignment), counts (planned / shipped / on-time / slipped / unplanned / orphaned), median slip days, and the top slipped
Everything about ONE customer, resolved by id, email, domain, or company name: profile, subscription + MRR, how many users sit under the account, and their verbatim feedback. Read-only; returns the ma
NPS for the product: the standard −100…100 score AND revenue-weighted NPS (each respondent weighted by their account MRR), plus detractor accounts ranked by MRR-at-risk (highest first). Surfaces when
Net Revenue Retention (revenue-weighted) next to logo retention (count-weighted), the expansion/contraction/churn split, and the accounts that lost the most MRR (ranked, highest loss first). The diver
Build a conversion funnel from the product's own events: distinct users per step, step-to-step conversion %, and drop-off, evaluated in the exact order you pass. Needs product-analytics events flowing
Weekly cohort retention for the product: users grouped by first-seen week (one row per cohort, newest last), with the share still active each subsequent week — a lower-triangular grid. Needs product-a
Trace what users do AFTER a start event — the journey flow (Sankey) from the product's own events. Returns the next-step transitions ranked by user count (most common first), empty when no events matc
List the org's board tasks and return the matches with their status, priority, assignees, and any linked feature/insight/sprint. Optionally narrow by status_id or list_id — resolve either via pm_meta.
Get one task by id and return it with its full comments and assignees. Read-only. Resolve the id first with list_tasks — never guess it; pair with update_task or comment_on_task to act on what you rea
Create a task and return the created task. list_id defaults to the org's first list when omitted; feature_id / insight_id link it to the spine and sprint_id schedules it into a sprint. Resolve list/st
Create a feature on the product spine and return it (id, key, name, status). The key is generated from the name; status starts 'active'. product_id defaults to the org's primary product when omitted (
Create an objective, optionally with key results, and return it. period is free text (e.g. 'Q3 2026'); product_id and parent_id (a parent objective) are optional and verified in-org. Each key result t
Create a sprint and return it (id, name, goal, state, dates). state is 'future' (default) or 'active'; start_date / end_date are optional ISO 8601. Only name is required. Schedule tasks into it by pas
Create a Page (in-product doc / PRD on the spine) and return it (id, title). `body` is plain text — blank-line-separated blocks become paragraphs; omit it for a blank page. title defaults to 'Untitled
Update a feature and return it; omitted fields are unchanged. status is 'active' | 'discovered' | 'archived' (there is NO 'shipped' status — set mark_shipped:true to stamp its ship date instead). targ
Update an objective's name / description / period and return it; omitted fields are unchanged (null clears description or period). Resolve the id via list_objectives; only id is required. To move a ke
Update a key result — most often to move current_value as progress lands — and return it; omitted fields are unchanged. Resolve the id via list_objectives (each objective carries its key_results with
Update a sprint and return it. state is 'future' | 'active' | 'closed' — moving to 'closed' stamps the completion time, reopening clears it. start_date / end_date are ISO 8601 (or null to clear). Reso
Update a Page — rename, set icon, replace the body, or archive/unarchive (archived:true hides it, false restores it). `body` is plain text (blank lines → paragraphs) and REPLACES the page content. Omi
List the org's initiatives — the strategic layer between goals and features (goal → initiative → feature → epic → release). Each returns its name, status, timeframe, the objective it rolls up to (if a
Create an initiative — a strategic effort that groups features and rolls up to a goal — and return it. Link it to a goal with objective_id (from list_objectives) to build line-of-sight. status ∈ plann
Update an initiative and return it; omitted fields are unchanged. Re-point it to a different goal with objective_id (null unlinks). status ∈ planned|active|paused|done|abandoned. Resolve the id via li
List the org's ideas — the native, votable idea backlog — ranked by vote count (highest first). Each returns its title, status, vote count, author, and the feature it was promoted to (if any). status
Create an idea in the backlog and return it (starts with 0 votes, status 'new'). Link the evidence it came from with insight_id (from list_insights). product_id defaults to the primary product. Only t
Update an idea's title / body / status and return it; omitted fields unchanged. status ∈ new|under_review|planned|promoted|declined (set 'promoted' via promote_idea instead, so a feature is actually c
Cast (or remove) the connected member's vote on an idea and return the new vote state. Adds your vote by default; pass remove:true to take it back. One vote per member — voting twice is a no-op. Resol
Promote an idea into a roadmap feature: creates a feature from the idea (name + description), stamps the idea 'promoted' and links it to the new feature, and returns the feature id. Idempotent — an al
Create a release and return it (id, version, changelog, released_at). Omit released_at for an unreleased/draft entry. product_id defaults to the org's primary product. Only version is required.
Update a release and return it; omitted fields unchanged. Set released_at to ship it (or null to move it back to draft). Resolve the id via list_releases; only id is required.
Create a PM experiment (a Build-Measure-Learn hypothesis) and return it. state is 'hypothesis' (default) | 'build' | 'measure' | 'learn'. Only title is required. This is the PM tracker list_experiment
Update a PM experiment — advance its state and record the outcome — and return it. state ∈ hypothesis|build|measure|learn; verdict ∈ validated|invalidated; decision ∈ pivot|persevere. Resolve the id v
List the org's logged decisions — title, rationale, status, and any linked feature/release/objective — newest first. Returns an empty list when none. Optional status filter (decided | proposed | revis
Log a decision and return it. status is 'decided' (default) | 'proposed' | 'revisit'; a 'decided' one stamps the decision time. Optionally weld it to a feature / release / objective via link_type + li
Update a decision and return it; omitted fields unchanged. Moving status to 'decided' re-stamps the decision time. Re-link via link_type + link_id (verified in-org), or clear with nulls. Resolve the i
PERMANENTLY delete a task and return the deleted id. Irreversible — there is no undo. Cascades: the task's comments, assignees, tags, attachments, time entries, outcomes, events, relations, and its SU
Post a message to a team Comms channel you belong to, as the connected member, and return the posted message. It appears live for teammates and is org-visible — keep it work-relevant. Resolve channel_
Reply in a thread under a specific message in a Comms channel you belong to, as the connected member, and return the posted reply — org-visible to the channel. Resolve channel_id via list_channels and
Send a public reply to a support-inbox conversation, as the connected member, and return the result — it goes to the end-user on the conversation's channel. A write. Resolve conversation_id via list_c
Add an INTERNAL note to a support conversation — visible only to your team, never sent to the end-user — and return the result. A write. Use it to record context or hand off; resolve conversation_id v
Mark a support-inbox conversation resolved (closed) and return the result. A write; idempotent — resolving an already-resolved conversation is a no-op. Resolve conversation_id via list_conversations f
Cancel a scheduled booking (call/meeting) and return the result — the invitee is notified per the scheduling settings. A write. Resolve booking_id via list_bookings first; never guess it. To move it i
Reschedule a booking to a new start time (ISO 8601) and return the result — the invitee is notified. A write. Resolve booking_id via list_bookings first. booking_id and start are required.
Agent-as-critic over a DRAFT artifact (a feature spec, experiment plan, or page): checks it against a baseline PM bar — clear problem/hypothesis, a measurable success metric, evidence cited, risks nam
Version history of an artifact's AI reviews (F5): every review run is a version with its score, model, cost, who/what generated it, and whether it's the current one. Read-only; returns the version lis
Restore an earlier artifact version (F5) to current and return the now-current version: the existing current version is flipped to 'reverted' (kept for the learning signal) and the chosen version beco
Update one or more of a task's fields and return the updated task; fields you omit are left unchanged (idempotent — re-sending the same values is a no-op). Pass sprint_id: null to remove the task from
Add a comment to a task, authored as the connected member, and return the created comment. Use to record progress, a decision, or a handoff — the comment is visible to the whole org, so keep it work-r
Write a piece of customer feedback to the spine (the agent's own hand, not just reading) and return the created insight. Fires the same insight.created webhook a manual capture does — a real side-effe
List support-chat conversations in the inbox (open + snoozed by default; pass status='all' to include closed). Read-only; returns the matching conversations, empty when the inbox is clear. Optional pr
Read one support conversation: the visitor plus the full message thread, oldest first. Read-only. Resolve the conversation_id first with list_conversations — never guess it.
Search the captured insight backlog (voice of customer) — the read twin of capture_insight. Read-only; returns the matching insights newest first, empty when nothing matches. Filters: status, kind (in
The product's feature catalogue with description, status, and when each was last touched — richer than pm_meta (which is just id+name for resolution). Read-only; returns the matching features, empty w
List the org's OKRs. Returns an array of objectives, each with its key results and live progress (0..1 between start and target), so you can prioritise toward what the team is actually trying to move.
List product experiments. Returns an array where each experiment carries its hypothesis, the metric it moves, the target, its current state, and — once concluded — the verdict and the decision that ca
List shipped releases. Returns an array, newest first, where each release carries its version, changelog, and ship date. Read-only; empty when nothing has shipped. Use it to answer 'what did we ship r
List the in-product docs / PRDs (Pages) on the spine. Returns an array of pages with title + id only — no content, so it stays cheap to scan. Read-only; empty when none exist. Use it to find the page
Read one Page (doc / PRD) by id and return its full content. Read-only. Resolve the id first with list_pages — never guess it.
The auto-generated codebase brain map for one product: a plain-language summary, the module/node/edge counts, when the map was last generated, and the labels of the modules it found. Read-only; return
Sprints — name, goal, state, and window, newest first. Read-only; returns the matching sprints, empty when none exist. See the delivery cadence (active + recent), and resolve a sprint_id here before s
List the team Comms channels the connected member belongs to (membership-scoped). Read-only; returns the member's channels, empty when they belong to none. Call read_channel with a channel_id to read
Read a Comms channel's recent messages, newest included (the connected member must be a channel member). Read-only; returns the messages, empty when the channel is silent. Resolve channel_id first wit
Upcoming confirmed bookings on the org's scheduling. Read-only; returns the bookings, empty when none are scheduled. Pass include='all' for full history.
Clusters of ≥2 end_users seen on the same device: 'anon_bridge' (high confidence — an anonymous visitor later identified) or 'device_shared' (low confidence — review only). Read-only; returns the cand
List the org's end-user merge history. Returns an array of merge events, newest first, where each carries its event id, kind (merge or unmerge), the target and source end-user ids, the reason, who ran
Merge source end-users into a target and return the merge result, including the merge event id (also recoverable later via list_identity_merges): all FK rows (events, insights, tasks, …) are re-pointe
Undo a previous end-user merge: reads the merge ledger and re-points every FK row (events, insights, tasks, …) back to its original end-user, un-tombstoning the folded-in sources. Safe to retry — a se