CLI Reference
Generated command and cross-adapter reference for andy-partner 0.2.0.
Outcome
Discover every supported public operation and use the same contract through the CLI, HTTP, or MCP.
Prerequisites
andy-partner@0.2.0. This reference covers client versions^0.2.0; the server does not check the client version.- Node
>=20. - A User session or Workspace API Key allowed by the operation metadata below.
Build freshness
- Public contract:
1 - Catalog operations:
127 - Catalog digest:
sha256:3548af8f91ada0634861ef1be6f769029db5bc47ae0b78ca3d76f2150b3cefa6 - Generated by:
apps/docs/generate-cli-reference.ts
Run andy help for global flags and andy <command> --help for command input details. Add --json for stable machine output. Successful calls exit 0; transport/internal failures exit 1; invalid input exits 2; authentication/setup failures exit 3; and stable business or authorization problems exit 4.
| CLI command | Operation ID | HTTP | MCP tool | Mutates | Stable problems |
|---|---|---|---|---|---|
support metrics inspect | support.metrics.inspect | POST /api/public/operations/support/metrics/inspect | get_support_metrics | no | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required |
support settings inspect | support.settings.inspect | POST /api/public/operations/support/settings/inspect | manage_support_settings (action inspect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required |
support settings configure | support.settings.configure | POST /api/public/operations/support/settings/configure | manage_support_settings (action configure) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support alerts inspect | support.alerts.inspect | POST /api/public/operations/support/alerts/inspect | manage_support_settings (action inspect_alerts) | no | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required |
support alerts configure | support.alerts.configure | POST /api/public/operations/support/alerts/configure | manage_support_settings (action configure_alerts) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support provider inspect | support.provider.inspect | POST /api/public/operations/support/provider/inspect | manage_support_provider (action inspect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, idempotency_conflict |
support provider provision | support.provider.provision | POST /api/public/operations/support/provider/provision | manage_support_provider (action provision) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support installation list | support.installation.list | POST /api/public/operations/support/installation/list | manage_support_installation (action list) | no | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support installation inspect | support.installation.inspect | POST /api/public/operations/support/installation/inspect | manage_support_installation (action inspect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support installation create | support.installation.create | POST /api/public/operations/support/installation/create | manage_support_installation (action create) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support installation configure | support.installation.configure | POST /api/public/operations/support/installation/configure | manage_support_installation (action configure) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support installation issue_key | support.installation.issue_key | POST /api/public/operations/support/installation/issue_key | manage_support_installation (action issue_key) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support installation rotate_key | support.installation.rotate_key | POST /api/public/operations/support/installation/rotate_key | manage_support_installation (action rotate_key) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support installation retire_key | support.installation.retire_key | POST /api/public/operations/support/installation/retire_key | manage_support_installation (action retire_key) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support installation retire | support.installation.retire | POST /api/public/operations/support/installation/retire | manage_support_installation (action retire) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support ticket list | support.ticket.list | POST /api/public/operations/support/ticket/list | get_support_ticket | no | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, ticket_resolved |
support ticket inspect | support.ticket.inspect | POST /api/public/operations/support/ticket/inspect | get_support_ticket | no | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, ticket_resolved |
support ticket reply | support.ticket.reply | POST /api/public/operations/support/ticket/reply | reply_support_ticket | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, ticket_resolved |
support ticket note | support.ticket.note | POST /api/public/operations/support/ticket/note | manage_support_ticket (action note) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support ticket assign | support.ticket.assign | POST /api/public/operations/support/ticket/assign | manage_support_ticket (action assign) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support ticket priority | support.ticket.priority | POST /api/public/operations/support/ticket/priority | manage_support_ticket (action priority) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
support ticket wait | support.ticket.wait | POST /api/public/operations/support/ticket/wait | manage_support_ticket (action wait) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, ticket_resolved |
support ticket resolve | support.ticket.resolve | POST /api/public/operations/support/ticket/resolve | manage_support_ticket (action resolve) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
context get | get_context | POST /api/public/operations/context/get | get_context | no | authentication_required, reauthentication_required, invalid_request, internal_error |
context select-workspace | select_workspace | none | select_workspace | yes | authentication_required, reauthentication_required, invalid_request, internal_error, resource_not_found, permission_denied, workspace_selection_required |
auth status | identity.status | POST /api/public/operations/identity/status | not exposed on MCP | no | authentication_required, reauthentication_required, invalid_request, internal_error, setup_required |
workspace list | workspace.list | POST /api/public/operations/workspaces/list | not exposed on MCP | no | authentication_required, reauthentication_required, invalid_request, internal_error |
workspace select | workspace.select | none | not exposed on MCP | yes | authentication_required, reauthentication_required, invalid_request, internal_error, resource_not_found, permission_denied |
workspace inspect | workspace.inspect | POST /api/public/operations/workspaces/inspect | get_workspace | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, resource_not_found |
workspace create | workspace.create | POST /api/public/operations/workspaces/create | not exposed on MCP | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, idempotency_conflict |
workspace rename | workspace.rename | POST /api/public/operations/workspaces/rename | not exposed on MCP | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, workspace_archived, idempotency_conflict |
workspace entitlements | workspace.entitlements.inspect | POST /api/public/operations/workspaces/entitlements/inspect | get_workspace_entitlements | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found |
assistant telegram inspect | assistant.telegram.inspect | POST /api/public/operations/assistant/telegram/inspect | manage_telegram_connection (action inspect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, telegram_already_connected, telegram_challenge_invalid, telegram_identity_conflict, limit_exceeded |
assistant telegram prepare | assistant.telegram.prepare | POST /api/public/operations/assistant/telegram/prepare | manage_telegram_connection (action prepare) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, telegram_already_connected, telegram_challenge_invalid, telegram_identity_conflict, limit_exceeded |
assistant telegram confirm | assistant.telegram.confirm | POST /api/public/operations/assistant/telegram/confirm | manage_telegram_connection (action confirm) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, telegram_already_connected, telegram_challenge_invalid, telegram_identity_conflict, limit_exceeded |
assistant telegram disconnect | assistant.telegram.disconnect | POST /api/public/operations/assistant/telegram/disconnect | manage_telegram_connection (action disconnect) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, telegram_already_connected, telegram_challenge_invalid, telegram_identity_conflict, limit_exceeded |
workspace time-zone show | workspace.time_zone.inspect | POST /api/public/operations/workspaces/time-zone/inspect | manage_workspace_time_zone (action inspect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, entitlement_required |
workspace time-zone set | workspace.time_zone.set | POST /api/public/operations/workspaces/time-zone/set | manage_workspace_time_zone (action set) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict |
billing show | workspace.billing.inspect | POST /api/public/operations/workspaces/billing/inspect | get_workspace_billing | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found |
billing portal | workspace.billing.portal_session.create | POST /api/public/operations/workspaces/billing/portal-session/create | manage_workspace_billing (action portal_session) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found |
billing tax-status | workspace.billing.tax_registration.set | POST /api/public/operations/workspaces/billing/tax-registration/set | manage_workspace_billing (action set_tax_registration) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, confirmation_required |
invoices list | workspace.invoices.list | POST /api/public/operations/workspaces/invoices/list | list_invoices (action list) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found |
invoices link | workspace.invoices.link | POST /api/public/operations/workspaces/invoices/link | list_invoices (action link) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found |
members list | workspace.member.list | POST /api/public/operations/workspaces/members/list | manage_workspace_members (action list_members) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found |
members role | workspace.member.change_role | POST /api/public/operations/workspaces/members/change-role | manage_workspace_members (action change_role) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, workspace_commercial_inactive, idempotency_conflict |
members remove | workspace.member.remove | POST /api/public/operations/workspaces/members/remove | manage_workspace_members (action remove) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, workspace_commercial_inactive, idempotency_conflict |
members invites | workspace.invite.list | POST /api/public/operations/workspaces/invites/list | manage_workspace_members (action list_invites) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found |
members invite | workspace.invite.create | POST /api/public/operations/workspaces/invites/create | manage_workspace_members (action invite) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, workspace_commercial_inactive, confirmation_required, limit_exceeded, idempotency_conflict |
members revoke | workspace.invite.revoke | POST /api/public/operations/workspaces/invites/revoke | manage_workspace_members (action revoke_invite) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, workspace_commercial_inactive, idempotency_conflict |
agent list | agent.list | POST /api/public/operations/agents/list | get_agent | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, resource_not_found, entitlement_required |
agent inspect | agent.inspect | POST /api/public/operations/agents/inspect | get_agent | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, resource_not_found, entitlement_required |
agent metrics | agent.metrics.inspect | POST /api/public/operations/agents/metrics/inspect | get_agent_metrics (action inspect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found |
agent live-now | agent.metrics.live_now | POST /api/public/operations/agents/metrics/live-now | get_agent_metrics (action live_now) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found |
agent create | agent.create | POST /api/public/operations/agents/create | manage_agent (action create) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, workspace_archived, entitlement_required, limit_exceeded, idempotency_conflict |
agent set-purpose | agent.purpose.set | POST /api/public/operations/agents/purpose/set | manage_agent (action set_purpose) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, workspace_selection_required, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
agent configure | agent.configure | POST /api/public/operations/agents/configure | configure_agent | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, agent_selection_required |
agent delete | agent.delete | POST /api/public/operations/agents/delete | manage_agent (action delete) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, resource_not_found, workspace_archived, confirmation_required, idempotency_conflict, agent_selection_required |
agent rename-slug | agent.rename_slug | POST /api/public/operations/agents/rename-slug | manage_agent (action rename_slug) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict |
agent-website dismiss | agent_website.dismiss | POST /api/public/operations/agent-websites/dismiss | not exposed on MCP | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, agent_selection_required |
api-key list | api_key.list | POST /api/public/operations/api-keys/list | not exposed on MCP | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found |
knowledge-source list | knowledge_source.list | POST /api/public/operations/knowledge-sources/list | list_knowledge | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, agent_selection_required |
knowledge-source inspect | knowledge_source.inspect | POST /api/public/operations/knowledge-sources/inspect | list_knowledge | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, agent_selection_required |
knowledge-source add | knowledge_source.add | POST /api/public/operations/knowledge-sources/add | add_knowledge | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, limit_exceeded, idempotency_conflict, agent_selection_required |
knowledge-source wait | knowledge_source.wait | POST /api/public/operations/knowledge-sources/wait | not exposed on MCP | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, processing_failed, processing_timeout |
knowledge-source reconcile | knowledge_source.reconcile | POST /api/public/operations/knowledge-sources/reconcile | not exposed on MCP | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, limit_exceeded, confirmation_required, idempotency_conflict |
knowledge-source replace | knowledge_source.replace | POST /api/public/operations/knowledge-sources/replace | replace_knowledge | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, limit_exceeded, idempotency_conflict, agent_selection_required |
knowledge-source delete | knowledge_source.delete | POST /api/public/operations/knowledge-sources/delete | delete_knowledge | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, confirmation_required, idempotency_conflict, agent_selection_required |
public-chat inspect | public_chat.inspect | POST /api/public/operations/public-chats/inspect | not exposed on MCP | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required |
public-chat enable | public_chat.enable | POST /api/public/operations/public-chats/enable | not exposed on MCP | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, processing_failed, idempotency_conflict |
public-chat disable | public_chat.disable | POST /api/public/operations/public-chats/disable | not exposed on MCP | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, confirmation_required, idempotency_conflict |
public-chat url | public_chat.url | POST /api/public/operations/public-chats/url | not exposed on MCP | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required |
widget inspect | widget.inspect | POST /api/public/operations/widgets/inspect | manage_widget (action inspect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required |
widget configure | widget.configure | POST /api/public/operations/widgets/configure | manage_widget (action configure) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, processing_failed, confirmation_required, idempotency_conflict |
widget manifest | widget.manifest | POST /api/public/operations/widgets/manifest | not exposed on MCP | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required |
widget verify | widget.verify | POST /api/public/operations/widgets/verify | not exposed on MCP | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, processing_failed |
content connection list | content.connection.list | POST /api/public/operations/content/connections/list | list_connections | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, workspace_archived, insufficient_scope |
content connection show | content.connection.inspect | POST /api/public/operations/content/connections/inspect | manage_connection (action inspect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, insufficient_scope |
content connection preflight | content.connection.preflight | POST /api/public/operations/content/connections/preflight | manage_connection (action preflight) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, setup_required, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict, insufficient_scope |
content connection connect | content.connection.connect | POST /api/public/operations/content/connections/connect | manage_connection (action connect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, provider_unavailable, insufficient_scope |
content connection disconnect | content.connection.disconnect | POST /api/public/operations/content/connections/disconnect | manage_connection (action disconnect) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, confirmation_required, idempotency_conflict, insufficient_scope |
content connection slots | content.connection.set_posting_slots | POST /api/public/operations/content/connections/set-posting-slots | manage_connection (action set_posting_slots) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict, insufficient_scope |
content connection community-add | content.connection.add_x_community | POST /api/public/operations/content/connections/add-x-community | manage_connection (action add_x_community) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, x_community_unsupported, x_community_invalid, idempotency_conflict, insufficient_scope |
content connection community-remove | content.connection.remove_x_community | POST /api/public/operations/content/connections/remove-x-community | manage_connection (action remove_x_community) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, x_community_unsupported, idempotency_conflict, insufficient_scope |
content media list | content.media.list | POST /api/public/operations/content/media/list | manage_media (action list) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, insufficient_scope |
content media show | content.media.inspect | POST /api/public/operations/content/media/inspect | manage_media (action inspect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, insufficient_scope |
content media upload-prepare | content.media.upload_prepare | POST /api/public/operations/content/media/upload-prepare | manage_media (action prepare) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, workspace_archived, idempotency_conflict, insufficient_scope |
content media upload-complete | content.media.upload_complete | POST /api/public/operations/content/media/upload-complete | manage_media (action complete) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict, insufficient_scope |
content media upload-bytes | content.media.upload_bytes | POST /api/public/operations/content/media/upload-bytes | manage_media (action upload_bytes) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, workspace_archived, idempotency_conflict, insufficient_scope |
content post create | content.post.create | POST /api/public/operations/content/posts/create | manage_post (action create) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, setup_required, instagram_media_required, instagram_media_unsupported, media_unsupported, media_pending, tiktok_settings_required, tiktok_consent_required, tiktok_privacy_invalid, tiktok_media_required, tiktok_media_unsupported, tiktok_media_too_long, tiktok_interaction_unavailable, tiktok_branded_private, tiktok_caption_too_long, tiktok_delivery_unconfigured, tiktok_delivery_misconfigured, tiktok_media_unmeasured, tiktok_creator_cap_missing, first_comment_unsupported, x_community_unsupported, x_community_not_saved, post_text_too_long, post_format_unsupported, article_body_empty, article_markdown_too_long, article_image_source_unsupported, article_link_unsupported, article_html_unsupported, idempotency_conflict, insufficient_scope |
content post list | content.post.list | POST /api/public/operations/content/posts/list | list_posts | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, workspace_archived, insufficient_scope |
content post show | content.post.inspect | POST /api/public/operations/content/posts/inspect | list_posts | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, insufficient_scope |
content post edit | content.post.edit | POST /api/public/operations/content/posts/edit | manage_post (action edit) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, instagram_media_required, instagram_media_unsupported, media_unsupported, media_pending, first_comment_unsupported, x_community_unsupported, x_community_not_saved, post_text_too_long, post_format_unsupported, article_body_empty, article_markdown_too_long, article_image_source_unsupported, article_link_unsupported, article_html_unsupported, idempotency_conflict, insufficient_scope |
content post approve | content.post.approve | POST /api/public/operations/content/posts/approve | manage_post (action approve) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, setup_required, instagram_media_required, instagram_media_unsupported, media_unsupported, media_pending, tiktok_settings_required, tiktok_consent_required, tiktok_privacy_invalid, tiktok_media_required, tiktok_media_unsupported, tiktok_media_too_long, tiktok_interaction_unavailable, tiktok_branded_private, tiktok_caption_too_long, tiktok_delivery_unconfigured, tiktok_delivery_misconfigured, tiktok_media_unmeasured, tiktok_creator_cap_missing, x_community_not_saved, post_text_too_long, post_format_unsupported, article_body_empty, article_markdown_too_long, article_image_source_unsupported, article_link_unsupported, article_html_unsupported, idempotency_conflict, insufficient_scope |
content post reject | content.post.reject | POST /api/public/operations/content/posts/reject | manage_post (action reject) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict, insufficient_scope |
content post cancel | content.post.cancel | POST /api/public/operations/content/posts/cancel | manage_post (action cancel) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, insufficient_scope |
content post dismiss | content.post.dismiss | POST /api/public/operations/content/posts/dismiss | manage_post (action dismiss) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict, insufficient_scope |
content post reschedule | content.post.reschedule | POST /api/public/operations/content/posts/reschedule | manage_post (action reschedule) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, insufficient_scope |
content post pause | content.post.pause | POST /api/public/operations/content/posts/pause | manage_post (action pause) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, insufficient_scope |
content post retry-first-comment | content.post.retry_first_comment | POST /api/public/operations/content/posts/retry-first-comment | manage_post (action retry_first_comment) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, insufficient_scope |
content post resume | content.post.resume | POST /api/public/operations/content/posts/resume | manage_post (action resume) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, insufficient_scope |
conversation list | conversation.list | POST /api/public/operations/conversation/list | list_conversations | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, workspace_archived, entitlement_required |
conversation message list | conversation.message.list | POST /api/public/operations/conversation/message/list | list_conversation_messages | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, workspace_archived, entitlement_required |
conversation reply-eligibility inspect | conversation.reply_eligibility.inspect | POST /api/public/operations/conversation/reply-eligibility/inspect | inspect_reply_eligibility | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, agent_selection_required |
conversation handoff takeover | conversation.handoff.takeover | POST /api/public/operations/conversation/handoff/takeover | manage_handoff (action takeover) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, agent_selection_required |
conversation handoff hand-back | conversation.handoff.hand_back | POST /api/public/operations/conversation/handoff/hand-back | manage_handoff (action hand_back) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, agent_selection_required |
conversation message send | conversation.message.send | POST /api/public/operations/conversation/message/send | send_message | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, workspace_commercial_inactive, idempotency_conflict, agent_selection_required, reply_ineligible |
conversation message submission inspect | conversation.message.submission.inspect | POST /api/public/operations/conversation/message/submission/inspect | inspect_message_submission | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, workspace_commercial_inactive, agent_selection_required |
conversation message report | conversation.message.report | POST /api/public/operations/conversation/message/report | not exposed on MCP | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, agent_selection_required |
conversation sender block | conversation.sender.block | POST /api/public/operations/conversation/sender/block | not exposed on MCP | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, agent_selection_required |
conversation sender unblock | conversation.sender.unblock | POST /api/public/operations/conversation/sender/unblock | not exposed on MCP | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict, agent_selection_required |
affiliate join | affiliate.join | POST /api/public/operations/affiliate/join | manage_affiliate (action join) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, idempotency_conflict |
affiliate show | affiliate.get | POST /api/public/operations/affiliate/get | manage_affiliate (action get) | no | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied |
affiliate update | affiliate.update | POST /api/public/operations/affiliate/update | manage_affiliate (action update) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, permission_denied, resource_not_found, idempotency_conflict |
outreach batch prepare | outreach.batch.prepare | POST /api/public/operations/outreach/batches/prepare | manage_outreach_batch (action prepare) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict, insufficient_scope, invalid_request |
outreach batch inspect | outreach.batch.inspect | POST /api/public/operations/outreach/batches/inspect | manage_outreach_batch (action inspect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, workspace_archived, resource_not_found, insufficient_scope |
outreach batch revise | outreach.batch.revise | POST /api/public/operations/outreach/batches/revise | manage_outreach_batch (action revise) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict, insufficient_scope, invalid_request |
outreach batch approve | outreach.batch.approve | POST /api/public/operations/outreach/batches/approve | manage_outreach_batch (action approve) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict, insufficient_scope, invalid_request |
outreach batch defer | outreach.batch.defer | POST /api/public/operations/outreach/batches/defer | manage_outreach_batch (action defer) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict, insufficient_scope, invalid_request |
outreach preparation start | outreach.preparation.start | POST /api/public/operations/outreach/preparation/start | manage_outreach_preparation (action start) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict, insufficient_scope, invalid_request |
outreach preparation resume | outreach.preparation.resume | POST /api/public/operations/outreach/preparation/resume | manage_outreach_preparation (action resume) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict, insufficient_scope, invalid_request |
outreach preparation inspect | outreach.preparation.inspect | POST /api/public/operations/outreach/preparation/inspect | manage_outreach_preparation (action inspect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, workspace_archived, resource_not_found, insufficient_scope |
outreach outcomes inspect | outreach.outcomes.inspect | POST /api/public/operations/outreach/outcomes/inspect | manage_outreach_outcomes (action inspect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, workspace_archived, resource_not_found, insufficient_scope |
outreach outcomes record | outreach.outcomes.record | POST /api/public/operations/outreach/outcomes/record | manage_outreach_outcomes (action record) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, idempotency_conflict, insufficient_scope, invalid_request |
contact list | contact.list | POST /api/public/operations/contact/list | list_contacts | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, agent_selection_required |
contact show | contact.inspect | POST /api/public/operations/contact/inspect | manage_contact (action inspect) | no | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, invalid_request |
contact discard | contact.discard | POST /api/public/operations/contact/discard | manage_contact (action discard) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
contact restore | contact.restore | POST /api/public/operations/contact/restore | manage_contact (action restore) | yes | authentication_required, reauthentication_required, invalid_request, internal_error, workspace_selection_required, permission_denied, resource_not_found, workspace_archived, entitlement_required, idempotency_conflict |
Every response includes a request ID. Mutations accept an idempotency key, and the client reuses the same key for its single retry. Destructive commands require explicit confirmation.
andy content media upload --file <path> --kind <kind> --source-type <source-type> is a CLI-only composition of content.media.upload_prepare, direct storage upload, and content.media.upload_complete. It does not add an HTTP operation, MCP tool, or worker command.
andy content media wait --asset <id> [--timeout-ms <ms>] is a CLI-only observer that polls content.media.inspect until the Media Asset is ready or failed. It does not add an HTTP operation, MCP tool, or worker command.
Operation schemas
support metrics inspect
- Operation ID:
support.metrics.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
support:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/support/metrics/inspect - MCP:
get_support_metrics— Inspect support metrics. Read Support Ticket facts in UTC-hour buckets for today, 7d or 30d. First-reply and backlog times use current support opening hours. complete=false means filling or a bounded sample exceeded; null statistics are unavailable, not zero. Optional clock ages the read without changing saved facts. Sales metrics are separate. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"period":{"default":"30d","type":"string","enum":["today","7d","30d"]},"clock":{"type":"integer","minimum":0,"maximum":4102444800000}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"metrics":{"type":"object","properties":{"status":{"type":"string","enum":["ready","filling"]},"complete":{"type":"boolean"},"period":{"type":"string","enum":["today","7d","30d"]},"from":{"type":"number"},"until":{"type":"number"},"opened":{"type":"number"},"firstReplies":{"type":"number"},"resolved":{"type":"number"},"reopened":{"type":"number"},"medianFirstReplyMinutes":{"anyOf":[{"type":"number"},{"type":"null"}]},"firstRepliesPastPromise":{"anyOf":[{"type":"number"},{"type":"null"}]},"backlog":{"type":"number"},"medianBacklogMinutes":{"anyOf":[{"type":"number"},{"type":"null"}]},"oldestBacklogMinutes":{"anyOf":[{"type":"number"},{"type":"null"}]},"pendingPastPromise":{"anyOf":[{"type":"number"},{"type":"null"}]},"settings":{"type":"object","properties":{"replyPromiseMinutes":{"type":"integer","minimum":1,"maximum":43200},"timeZone":{"type":"string","minLength":1,"maxLength":64},"businessHours":{"type":"object","properties":{"days":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"integer","minimum":0,"maximum":6}},"startMinutes":{"type":"integer","minimum":0,"maximum":1439},"endMinutes":{"type":"integer","minimum":1,"maximum":1440}},"required":["days","startMinutes","endMinutes"],"additionalProperties":false}},"required":["replyPromiseMinutes","timeZone","businessHours"],"additionalProperties":false}},"required":["status","complete","period","from","until","opened","firstReplies","resolved","reopened","medianFirstReplyMinutes","firstRepliesPastPromise","backlog","medianBacklogMinutes","oldestBacklogMinutes","pendingPastPromise","settings"],"additionalProperties":false}},"required":["metrics"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support settings inspect
- Operation ID:
support.settings.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
support:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/support/settings/inspect - MCP:
manage_support_settings(actioninspect) — Inspect support settings. Read the provider's first Public Reply promise, weekly opening interval and IANA timezone. canConfigure reflects a live Owner or Admin role. Requesters receive only receipt promise metadata. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"settings":{"type":"object","properties":{"replyPromiseMinutes":{"type":"integer","minimum":1,"maximum":43200},"timeZone":{"type":"string","minLength":1,"maxLength":64},"businessHours":{"type":"object","properties":{"days":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"integer","minimum":0,"maximum":6}},"startMinutes":{"type":"integer","minimum":0,"maximum":1439},"endMinutes":{"type":"integer","minimum":1,"maximum":1440}},"required":["days","startMinutes","endMinutes"],"additionalProperties":false}},"required":["replyPromiseMinutes","timeZone","businessHours"],"additionalProperties":false},"canConfigure":{"type":"boolean"}},"required":["settings","canConfigure"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support settings configure
- Operation ID:
support.settings.configure - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/settings/configure - MCP:
manage_support_settings(actionconfigure) — Configure support reply promise. Owner or Admin. Set replyPromiseMinutes in business minutes, selected weekdays (Sunday=0), opening/closing minutes after midnight and an IANA timezone. Closing must follow opening; the promise fits at most 30 business days. Recomputes receipt, due marks and current metrics; preserves the original first reply through reopen. Sales timezone is unchanged. Reuse idempotencyKey for retries. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"replyPromiseMinutes":{"type":"integer","minimum":1,"maximum":43200},"timeZone":{"type":"string","minLength":1,"maxLength":64},"businessHours":{"type":"object","properties":{"days":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"integer","minimum":0,"maximum":6}},"startMinutes":{"type":"integer","minimum":0,"maximum":1439},"endMinutes":{"type":"integer","minimum":1,"maximum":1440}},"required":["days","startMinutes","endMinutes"],"additionalProperties":false},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["replyPromiseMinutes","timeZone","businessHours"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"settings":{"type":"object","properties":{"replyPromiseMinutes":{"type":"integer","minimum":1,"maximum":43200},"timeZone":{"type":"string","minLength":1,"maxLength":64},"businessHours":{"type":"object","properties":{"days":{"minItems":1,"maxItems":7,"type":"array","items":{"type":"integer","minimum":0,"maximum":6}},"startMinutes":{"type":"integer","minimum":0,"maximum":1439},"endMinutes":{"type":"integer","minimum":1,"maximum":1440}},"required":["days","startMinutes","endMinutes"],"additionalProperties":false}},"required":["replyPromiseMinutes","timeZone","businessHours"],"additionalProperties":false},"canConfigure":{"type":"boolean"}},"required":["settings","canConfigure"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support alerts inspect
- Operation ID:
support.alerts.inspect - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/support/alerts/inspect - MCP:
manage_support_settings(actioninspect_alerts) — Inspect support ticket alerts. Any current Soporte operator. List every operator with how they get ticket alerts (a new ticket, a Requester reply, a reopen): push needs the Andy phone app, email is each operator's own switch, on by default. self marks the caller. emailSending is false while this deployment cannot send Soporte email. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"emailSending":{"type":"boolean"},"operators":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"self":{"type":"boolean"},"push":{"type":"boolean"},"emailAlerts":{"type":"boolean"}},"required":["name","email","self","push","emailAlerts"],"additionalProperties":false}}},"required":["emailSending","operators"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support alerts configure
- Operation ID:
support.alerts.configure - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/alerts/configure - MCP:
manage_support_settings(actionconfigure_alerts) — Configure my support ticket alerts. Any current Soporte operator switches their own ticket alert emails on or off with emailAlerts. It never changes another operator. Push alerts are switched in the Andy phone app. Reuse idempotencyKey for retries. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"emailAlerts":{"type":"boolean"},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["emailAlerts"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"emailSending":{"type":"boolean"},"operators":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"self":{"type":"boolean"},"push":{"type":"boolean"},"emailAlerts":{"type":"boolean"}},"required":["name","email","self","push","emailAlerts"],"additionalProperties":false}}},"required":["emailSending","operators"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support provider inspect
- Operation ID:
support.provider.inspect - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/support/provider/inspect - MCP:
manage_support_provider(actioninspect) — Inspect Support provider. Read the selected Workspace's Support Agent binding, team Reply Email sender, operator seat capacity and whether Soporte is enabled. Workspace Owner or Admin membership is required. Only a Platform Admin also sees the Relay route. Does not provision or send anything. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"provider":{"anyOf":[{"type":"object","properties":{"supportAgentId":{"type":"string","minLength":1},"operatorSeats":{"type":"integer","minimum":1,"maximum":1000},"sender":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}},"required":["name","email"],"additionalProperties":false},"relay":{"type":"object","properties":{"workspace":{"type":"string","pattern":"^[a-z][a-z0-9-]{0,79}$"},"product":{"type":"string","pattern":"^[a-z][a-z0-9-]{0,79}$"}},"required":["workspace","product"],"additionalProperties":false}},"required":["supportAgentId","operatorSeats","sender"],"additionalProperties":false},{"type":"null"}]},"supportEnabled":{"type":"boolean"}},"required":["provider","supportEnabled"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support provider provision
- Operation ID:
support.provider.provision - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/provider/provision - MCP:
manage_support_provider(actionprovision) — Provision Support provider. Set up Soporte in the selected Workspace. A Workspace Owner or Admin whose Workspace has Soporte (Pro Max or a grant) binds a live same-Workspace Support Agent. Omit sender to use the default "Soporte " sender at Andy's verified domain; a custom sender must use a domain the server has verified. Operator seats and the Relay route are changed only by a Platform Admin, and only a Platform Admin sees the Relay route in the response. No invitation, email or Relay send occurs. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"supportAgentId":{"type":"string","minLength":1},"operatorSeats":{"type":"integer","minimum":1,"maximum":1000},"sender":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}},"required":["name","email"],"additionalProperties":false},"relay":{"type":"object","properties":{"workspace":{"type":"string","pattern":"^[a-z][a-z0-9-]{0,79}$"},"product":{"type":"string","pattern":"^[a-z][a-z0-9-]{0,79}$"}},"required":["workspace","product"],"additionalProperties":false},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["supportAgentId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"provider":{"anyOf":[{"type":"object","properties":{"supportAgentId":{"type":"string","minLength":1},"operatorSeats":{"type":"integer","minimum":1,"maximum":1000},"sender":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}},"required":["name","email"],"additionalProperties":false},"relay":{"type":"object","properties":{"workspace":{"type":"string","pattern":"^[a-z][a-z0-9-]{0,79}$"},"product":{"type":"string","pattern":"^[a-z][a-z0-9-]{0,79}$"}},"required":["workspace","product"],"additionalProperties":false}},"required":["supportAgentId","operatorSeats","sender"],"additionalProperties":false},{"type":"null"}]},"supportEnabled":{"type":"boolean"}},"required":["provider","supportEnabled"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support installation list
- Operation ID:
support.installation.list - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/support/installation/list - MCP:
manage_support_installation(actionlist) — List Support installation. Provider Owner or Admin controls. Signing keys are delivered once only in verified App Configurar; other doors return an App handoff before issuance. Reads and retries contain metadata only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cursor":{"type":"string","minLength":1},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"installations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"environment":{"type":"string","enum":["local","preview","production"]},"surfaces":{"type":"array","items":{"type":"object","properties":{"surface":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,80}$"},"ticketUrlTemplate":{"type":"string","maxLength":2000}},"required":["surface","ticketUrlTemplate"],"additionalProperties":false}},"branding":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"footer":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2000}},"required":["label","url"],"additionalProperties":false}}},"required":["name","color","footer"],"additionalProperties":false},"ticketTag":{"type":"string"},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["id","name","environment","surfaces","branding","createdAt","retiredAt"],"additionalProperties":false}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["installations","nextCursor"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support installation inspect
- Operation ID:
support.installation.inspect - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/support/installation/inspect - MCP:
manage_support_installation(actioninspect) — Inspect Support installation. Provider Owner or Admin controls. Signing keys are delivered once only in verified App Configurar; other doors return an App handoff before issuance. Reads and retries contain metadata only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"installationId":{"type":"string","minLength":1},"cursor":{"type":"string","minLength":1},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":100}},"required":["installationId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"installation":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"environment":{"type":"string","enum":["local","preview","production"]},"surfaces":{"type":"array","items":{"type":"object","properties":{"surface":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,80}$"},"ticketUrlTemplate":{"type":"string","maxLength":2000}},"required":["surface","ticketUrlTemplate"],"additionalProperties":false}},"branding":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"footer":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2000}},"required":["label","url"],"additionalProperties":false}}},"required":["name","color","footer"],"additionalProperties":false},"ticketTag":{"type":"string"},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["id","name","environment","surfaces","branding","createdAt","retiredAt"],"additionalProperties":false},"keys":{"type":"array","items":{"type":"object","properties":{"kid":{"type":"string"},"status":{"type":"string","enum":["active","previous","retired"]},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["kid","status","createdAt","retiredAt"],"additionalProperties":false}},"hasActiveKey":{"type":"boolean"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["installation","keys","hasActiveKey","nextCursor"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support installation create
- Operation ID:
support.installation.create - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/installation/create - MCP:
manage_support_installation(actioncreate) — Create Support installation. Provider Owner or Admin controls. Signing keys are delivered once only in verified App Configurar; other doors return an App handoff before issuance. Reads and retries contain metadata only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"surfaces":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"object","properties":{"surface":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,80}$"},"ticketUrlTemplate":{"type":"string","maxLength":2000}},"required":["surface","ticketUrlTemplate"],"additionalProperties":false}},"branding":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"footer":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2000}},"required":["label","url"],"additionalProperties":false}}},"required":["name","color","footer"],"additionalProperties":false},"ticketTag":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"description":"Short tag prefixed to the subject of every ticket opened through this installation, as [<tag>] <subject>, e.g. Preprod. null removes it; omitted on configure keeps the current tag."},{"type":"null"}]},"environment":{"type":"string","enum":["local","preview","production"]},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["name","surfaces","branding","environment"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"installation":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"environment":{"type":"string","enum":["local","preview","production"]},"surfaces":{"type":"array","items":{"type":"object","properties":{"surface":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,80}$"},"ticketUrlTemplate":{"type":"string","maxLength":2000}},"required":["surface","ticketUrlTemplate"],"additionalProperties":false}},"branding":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"footer":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2000}},"required":["label","url"],"additionalProperties":false}}},"required":["name","color","footer"],"additionalProperties":false},"ticketTag":{"type":"string"},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["id","name","environment","surfaces","branding","createdAt","retiredAt"],"additionalProperties":false}},"required":["installation"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support installation configure
- Operation ID:
support.installation.configure - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/installation/configure - MCP:
manage_support_installation(actionconfigure) — Configure Support installation. Provider Owner or Admin controls. Signing keys are delivered once only in verified App Configurar; other doors return an App handoff before issuance. Reads and retries contain metadata only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"installationId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":100},"surfaces":{"minItems":1,"maxItems":10,"type":"array","items":{"type":"object","properties":{"surface":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,80}$"},"ticketUrlTemplate":{"type":"string","maxLength":2000}},"required":["surface","ticketUrlTemplate"],"additionalProperties":false}},"branding":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"footer":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2000}},"required":["label","url"],"additionalProperties":false}}},"required":["name","color","footer"],"additionalProperties":false},"ticketTag":{"anyOf":[{"type":"string","minLength":1,"maxLength":20,"description":"Short tag prefixed to the subject of every ticket opened through this installation, as [<tag>] <subject>, e.g. Preprod. null removes it; omitted on configure keeps the current tag."},{"type":"null"}]},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["installationId","name","surfaces","branding"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"installation":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"environment":{"type":"string","enum":["local","preview","production"]},"surfaces":{"type":"array","items":{"type":"object","properties":{"surface":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,80}$"},"ticketUrlTemplate":{"type":"string","maxLength":2000}},"required":["surface","ticketUrlTemplate"],"additionalProperties":false}},"branding":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"footer":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2000}},"required":["label","url"],"additionalProperties":false}}},"required":["name","color","footer"],"additionalProperties":false},"ticketTag":{"type":"string"},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["id","name","environment","surfaces","branding","createdAt","retiredAt"],"additionalProperties":false}},"required":["installation"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support installation issue_key
- Operation ID:
support.installation.issue_key - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/installation/issue_key - MCP:
manage_support_installation(actionissue_key) — Issue key Support installation. Provider Owner or Admin controls. Signing keys are delivered once only in verified App Configurar; other doors return an App handoff before issuance. Reads and retries contain metadata only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"installationId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["installationId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"delivery":{"type":"string","const":"app_required"},"appPath":{"type":"string"}},"required":["delivery","appPath"],"additionalProperties":false},{"type":"object","properties":{"installation":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"environment":{"type":"string","enum":["local","preview","production"]},"surfaces":{"type":"array","items":{"type":"object","properties":{"surface":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,80}$"},"ticketUrlTemplate":{"type":"string","maxLength":2000}},"required":["surface","ticketUrlTemplate"],"additionalProperties":false}},"branding":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"footer":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2000}},"required":["label","url"],"additionalProperties":false}}},"required":["name","color","footer"],"additionalProperties":false},"ticketTag":{"type":"string"},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["id","name","environment","surfaces","branding","createdAt","retiredAt"],"additionalProperties":false},"key":{"type":"object","properties":{"kid":{"type":"string"},"status":{"type":"string","enum":["active","previous","retired"]},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["kid","status","createdAt","retiredAt"],"additionalProperties":false},"delivery":{"type":"string","const":"shown_once"},"signingSecret":{"type":"string"}},"required":["installation","key","delivery","signingSecret"],"additionalProperties":false},{"type":"object","properties":{"installation":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"environment":{"type":"string","enum":["local","preview","production"]},"surfaces":{"type":"array","items":{"type":"object","properties":{"surface":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,80}$"},"ticketUrlTemplate":{"type":"string","maxLength":2000}},"required":["surface","ticketUrlTemplate"],"additionalProperties":false}},"branding":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"footer":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2000}},"required":["label","url"],"additionalProperties":false}}},"required":["name","color","footer"],"additionalProperties":false},"ticketTag":{"type":"string"},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["id","name","environment","surfaces","branding","createdAt","retiredAt"],"additionalProperties":false},"key":{"type":"object","properties":{"kid":{"type":"string"},"status":{"type":"string","enum":["active","previous","retired"]},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["kid","status","createdAt","retiredAt"],"additionalProperties":false},"delivery":{"type":"string","const":"already_delivered"}},"required":["installation","key","delivery"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support installation rotate_key
- Operation ID:
support.installation.rotate_key - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/installation/rotate_key - MCP:
manage_support_installation(actionrotate_key) — Rotate key Support installation. Provider Owner or Admin controls. Signing keys are delivered once only in verified App Configurar; other doors return an App handoff before issuance. Reads and retries contain metadata only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"installationId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["installationId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"delivery":{"type":"string","const":"app_required"},"appPath":{"type":"string"}},"required":["delivery","appPath"],"additionalProperties":false},{"type":"object","properties":{"installation":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"environment":{"type":"string","enum":["local","preview","production"]},"surfaces":{"type":"array","items":{"type":"object","properties":{"surface":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,80}$"},"ticketUrlTemplate":{"type":"string","maxLength":2000}},"required":["surface","ticketUrlTemplate"],"additionalProperties":false}},"branding":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"footer":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2000}},"required":["label","url"],"additionalProperties":false}}},"required":["name","color","footer"],"additionalProperties":false},"ticketTag":{"type":"string"},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["id","name","environment","surfaces","branding","createdAt","retiredAt"],"additionalProperties":false},"key":{"type":"object","properties":{"kid":{"type":"string"},"status":{"type":"string","enum":["active","previous","retired"]},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["kid","status","createdAt","retiredAt"],"additionalProperties":false},"delivery":{"type":"string","const":"shown_once"},"signingSecret":{"type":"string"}},"required":["installation","key","delivery","signingSecret"],"additionalProperties":false},{"type":"object","properties":{"installation":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"environment":{"type":"string","enum":["local","preview","production"]},"surfaces":{"type":"array","items":{"type":"object","properties":{"surface":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,80}$"},"ticketUrlTemplate":{"type":"string","maxLength":2000}},"required":["surface","ticketUrlTemplate"],"additionalProperties":false}},"branding":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"footer":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2000}},"required":["label","url"],"additionalProperties":false}}},"required":["name","color","footer"],"additionalProperties":false},"ticketTag":{"type":"string"},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["id","name","environment","surfaces","branding","createdAt","retiredAt"],"additionalProperties":false},"key":{"type":"object","properties":{"kid":{"type":"string"},"status":{"type":"string","enum":["active","previous","retired"]},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["kid","status","createdAt","retiredAt"],"additionalProperties":false},"delivery":{"type":"string","const":"already_delivered"}},"required":["installation","key","delivery"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support installation retire_key
- Operation ID:
support.installation.retire_key - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/installation/retire_key - MCP:
manage_support_installation(actionretire_key) — Retire key Support installation. Provider Owner or Admin controls. Signing keys are delivered once only in verified App Configurar; other doors return an App handoff before issuance. Reads and retries contain metadata only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"installationId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200},"kid":{"type":"string","minLength":1,"maxLength":200}},"required":["installationId","kid"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"installation":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"environment":{"type":"string","enum":["local","preview","production"]},"surfaces":{"type":"array","items":{"type":"object","properties":{"surface":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,80}$"},"ticketUrlTemplate":{"type":"string","maxLength":2000}},"required":["surface","ticketUrlTemplate"],"additionalProperties":false}},"branding":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"footer":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2000}},"required":["label","url"],"additionalProperties":false}}},"required":["name","color","footer"],"additionalProperties":false},"ticketTag":{"type":"string"},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["id","name","environment","surfaces","branding","createdAt","retiredAt"],"additionalProperties":false},"keys":{"type":"array","items":{"type":"object","properties":{"kid":{"type":"string"},"status":{"type":"string","enum":["active","previous","retired"]},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["kid","status","createdAt","retiredAt"],"additionalProperties":false}},"hasActiveKey":{"type":"boolean"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["installation","keys","hasActiveKey","nextCursor"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support installation retire
- Operation ID:
support.installation.retire - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/installation/retire - MCP:
manage_support_installation(actionretire) — Retire Support installation. Provider Owner or Admin controls. Signing keys are delivered once only in verified App Configurar; other doors return an App handoff before issuance. Reads and retries contain metadata only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"installationId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["installationId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"installation":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"environment":{"type":"string","enum":["local","preview","production"]},"surfaces":{"type":"array","items":{"type":"object","properties":{"surface":{"type":"string","pattern":"^[a-zA-Z0-9_-]{1,80}$"},"ticketUrlTemplate":{"type":"string","maxLength":2000}},"required":["surface","ticketUrlTemplate"],"additionalProperties":false}},"branding":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"footer":{"maxItems":3,"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":2000}},"required":["label","url"],"additionalProperties":false}}},"required":["name","color","footer"],"additionalProperties":false},"ticketTag":{"type":"string"},"createdAt":{"type":"number"},"retiredAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["id","name","environment","surfaces","branding","createdAt","retiredAt"],"additionalProperties":false}},"required":["installation"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support ticket list
- Operation ID:
support.ticket.list - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
support:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/support/ticket/list - MCP:
get_support_ticket— List support ticket. Read the live support queue and its view counts. View risk lists tickets still awaiting a first reply that are past or near the reply promise, oldest first; counts.risk stops at 500. Priority narrows any view. Otherwise search with one selector (number, status, assigneeId, installationId, requesterId, query or priority) instead of a view, optionally within updatedAfter/updatedBefore. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,ticket_resolved
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"view":{"type":"string","enum":["mine","unassigned","risk","open","resolved"]},"number":{"type":"integer","minimum":1,"maximum":9007199254740991},"status":{"type":"string","enum":["open","in_progress","waiting_customer","resolved"]},"assigneeId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"installationId":{"type":"string","minLength":1},"requesterId":{"type":"string","minLength":1},"query":{"type":"string","minLength":1,"maxLength":200},"priority":{"type":"string","enum":["low","normal","high","urgent"]},"updatedAfter":{"type":"integer","minimum":0,"maximum":4102444800000},"updatedBefore":{"type":"integer","minimum":0,"maximum":4102444800000},"clock":{"type":"integer","minimum":0,"maximum":4102444800000},"cursor":{"type":"string","minLength":1},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"tickets":{"type":"array","items":{"type":"object","properties":{"replyEmailFailed":{"type":"boolean"},"ticketUrl":{"type":"string"},"id":{"type":"string"},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"subject":{"type":"string"},"status":{"type":"string","enum":["open","in_progress","waiting_customer","resolved"]},"priority":{"type":"string","enum":["low","normal","high","urgent"]},"installationId":{"type":"string"},"requester":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"company":{"type":"string"},"openingApp":{"type":"string"}},"required":["name","email","company","openingApp"],"additionalProperties":false},"createdAt":{"type":"number"},"updatedAt":{"type":"number"},"firstHumanReplyAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"latestRequesterSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"requesterLastSeenSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unread":{"type":"boolean"},"reopenedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reopened":{"type":"boolean"},"replyPromise":{"type":"object","properties":{"minutes":{"type":"number"},"businessDayMinutes":{"type":"number"},"dueAt":{"type":"number"}},"required":["minutes","businessDayMinutes","dueAt"],"additionalProperties":false},"firstReply":{"type":"object","properties":{"minutes":{"anyOf":[{"type":"number"},{"type":"null"}]},"pending":{"type":"boolean"},"pastPromise":{"type":"boolean"}},"required":["minutes","pending","pastPromise"],"additionalProperties":false},"assignee":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]}},"required":["id","number","subject","status","requester","createdAt","updatedAt","firstHumanReplyAt","latestRequesterSequence","requesterLastSeenSequence","unread","reopenedCount","reopened"],"additionalProperties":false}},"counts":{"type":"object","properties":{"mine":{"type":"number"},"unassigned":{"type":"number"},"risk":{"type":"number"},"open":{"type":"number"},"resolved":{"type":"number"}},"required":["mine","unassigned","open","resolved"],"additionalProperties":false},"summary":{"type":"object","properties":{"unassigned":{"type":"number"},"pendingPastPromise":{"anyOf":[{"type":"number"},{"type":"null"}]},"medianFirstReplyMinutes":{"anyOf":[{"type":"number"},{"type":"null"}]},"complete":{"type":"boolean"}},"required":["unassigned","pendingPastPromise","medianFirstReplyMinutes","complete"],"additionalProperties":false}},"required":["tickets"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support ticket inspect
- Operation ID:
support.ticket.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
support:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/support/ticket/inspect - MCP:
get_support_ticket— Inspect support ticket. Read the ticket and its permitted audience thread. ticketId comes from the list or numbered receipt. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,ticket_resolved
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ticketId":{"type":"string","minLength":1},"clock":{"type":"integer","minimum":0,"maximum":4102444800000},"cursor":{"type":"string","minLength":1},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":100}},"required":["ticketId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"ticket":{"type":"object","properties":{"replyEmailFailed":{"type":"boolean"},"ticketUrl":{"type":"string"},"id":{"type":"string"},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"subject":{"type":"string"},"status":{"type":"string","enum":["open","in_progress","waiting_customer","resolved"]},"priority":{"type":"string","enum":["low","normal","high","urgent"]},"installationId":{"type":"string"},"requester":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"company":{"type":"string"},"openingApp":{"type":"string"}},"required":["name","email","company","openingApp"],"additionalProperties":false},"createdAt":{"type":"number"},"updatedAt":{"type":"number"},"firstHumanReplyAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"latestRequesterSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"requesterLastSeenSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unread":{"type":"boolean"},"reopenedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reopened":{"type":"boolean"},"replyPromise":{"type":"object","properties":{"minutes":{"type":"number"},"businessDayMinutes":{"type":"number"},"dueAt":{"type":"number"}},"required":["minutes","businessDayMinutes","dueAt"],"additionalProperties":false},"firstReply":{"type":"object","properties":{"minutes":{"anyOf":[{"type":"number"},{"type":"null"}]},"pending":{"type":"boolean"},"pastPromise":{"type":"boolean"}},"required":["minutes","pending","pastPromise"],"additionalProperties":false},"assignee":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]}},"required":["id","number","subject","status","requester","createdAt","updatedAt","firstHumanReplyAt","latestRequesterSequence","requesterLastSeenSequence","unread","reopenedCount","reopened"],"additionalProperties":false},"entries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["requester_message","public_reply","ai_transcript","internal_note","opened","assigned","status_changed","reopened","priority_changed"]},"body":{"type":"string"},"authorName":{"type":"string"},"at":{"type":"number"},"fromStatus":{"type":"string","enum":["open","in_progress","waiting_customer","resolved"]},"toStatus":{"type":"string","enum":["open","in_progress","waiting_customer","resolved"]},"fromPriority":{"type":"string","enum":["low","normal","high","urgent"]},"toPriority":{"type":"string","enum":["low","normal","high","urgent"]},"previousAssigneeId":{"anyOf":[{"type":"string"},{"type":"null"}]},"newAssigneeId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transcript":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string"}},"required":["role","content"],"additionalProperties":false}}},"required":["id","sequence","kind","body","authorName","at"],"additionalProperties":false}},"transcript":{"type":"object","properties":{"id":{"type":"string"},"sequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"kind":{"type":"string","enum":["requester_message","public_reply","ai_transcript","internal_note","opened","assigned","status_changed","reopened","priority_changed"]},"body":{"type":"string"},"authorName":{"type":"string"},"at":{"type":"number"},"fromStatus":{"type":"string","enum":["open","in_progress","waiting_customer","resolved"]},"toStatus":{"type":"string","enum":["open","in_progress","waiting_customer","resolved"]},"fromPriority":{"type":"string","enum":["low","normal","high","urgent"]},"toPriority":{"type":"string","enum":["low","normal","high","urgent"]},"previousAssigneeId":{"anyOf":[{"type":"string"},{"type":"null"}]},"newAssigneeId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transcript":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string"}},"required":["role","content"],"additionalProperties":false}}},"required":["id","sequence","kind","body","authorName","at"],"additionalProperties":false},"operators":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false}},"nextOpen":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"subject":{"type":"string"}},"required":["id","number","subject"],"additionalProperties":false},{"type":"null"}]}},"required":["ticket","entries"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support ticket reply
- Operation ID:
support.ticket.reply - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
support:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/ticket/reply - MCP:
reply_support_ticket— Reply support ticket. Send a Public Reply. The first reply moves open to in_progress and claims an unassigned ticket. Optional then waits or resolves atomically with the reply. A resolved ticket refuses replies. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,ticket_resolved
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ticketId":{"type":"string","minLength":1},"body":{"type":"string","minLength":1,"maxLength":20000},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200},"then":{"type":"string","enum":["waiting_customer","resolved"]}},"required":["ticketId","body"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"ticket":{"type":"object","properties":{"replyEmailFailed":{"type":"boolean"},"ticketUrl":{"type":"string"},"id":{"type":"string"},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"subject":{"type":"string"},"status":{"type":"string","enum":["open","in_progress","waiting_customer","resolved"]},"priority":{"type":"string","enum":["low","normal","high","urgent"]},"installationId":{"type":"string"},"requester":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"company":{"type":"string"},"openingApp":{"type":"string"}},"required":["name","email","company","openingApp"],"additionalProperties":false},"createdAt":{"type":"number"},"updatedAt":{"type":"number"},"firstHumanReplyAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"latestRequesterSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"requesterLastSeenSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unread":{"type":"boolean"},"reopenedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reopened":{"type":"boolean"},"replyPromise":{"type":"object","properties":{"minutes":{"type":"number"},"businessDayMinutes":{"type":"number"},"dueAt":{"type":"number"}},"required":["minutes","businessDayMinutes","dueAt"],"additionalProperties":false},"firstReply":{"type":"object","properties":{"minutes":{"anyOf":[{"type":"number"},{"type":"null"}]},"pending":{"type":"boolean"},"pastPromise":{"type":"boolean"}},"required":["minutes","pending","pastPromise"],"additionalProperties":false},"assignee":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]}},"required":["id","number","subject","status","requester","createdAt","updatedAt","firstHumanReplyAt","latestRequesterSequence","requesterLastSeenSequence","unread","reopenedCount","reopened"],"additionalProperties":false}},"required":["ticket"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support ticket note
- Operation ID:
support.ticket.note - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
support:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/ticket/note - MCP:
manage_support_ticket(actionnote) — Add Internal Note. Save an Internal Note for the provider's operators only. It never enters Requester reads or unread state and never sends a Public Reply. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ticketId":{"type":"string","minLength":1},"body":{"type":"string","minLength":1,"maxLength":20000},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["ticketId","body"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"ticket":{"type":"object","properties":{"replyEmailFailed":{"type":"boolean"},"ticketUrl":{"type":"string"},"id":{"type":"string"},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"subject":{"type":"string"},"status":{"type":"string","enum":["open","in_progress","waiting_customer","resolved"]},"priority":{"type":"string","enum":["low","normal","high","urgent"]},"installationId":{"type":"string"},"requester":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"company":{"type":"string"},"openingApp":{"type":"string"}},"required":["name","email","company","openingApp"],"additionalProperties":false},"createdAt":{"type":"number"},"updatedAt":{"type":"number"},"firstHumanReplyAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"latestRequesterSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"requesterLastSeenSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unread":{"type":"boolean"},"reopenedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reopened":{"type":"boolean"},"replyPromise":{"type":"object","properties":{"minutes":{"type":"number"},"businessDayMinutes":{"type":"number"},"dueAt":{"type":"number"}},"required":["minutes","businessDayMinutes","dueAt"],"additionalProperties":false},"firstReply":{"type":"object","properties":{"minutes":{"anyOf":[{"type":"number"},{"type":"null"}]},"pending":{"type":"boolean"},"pastPromise":{"type":"boolean"}},"required":["minutes","pending","pastPromise"],"additionalProperties":false},"assignee":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]}},"required":["id","number","subject","status","requester","createdAt","updatedAt","firstHumanReplyAt","latestRequesterSequence","requesterLastSeenSequence","unread","reopenedCount","reopened"],"additionalProperties":false}},"required":["ticket"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support ticket assign
- Operation ID:
support.ticket.assign - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
support:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/ticket/assign - MCP:
manage_support_ticket(actionassign) — Assign Support Ticket. Assign to an authorized operator from inspect's operators, or use null to unassign. Foreign Workspace members and people without live seats are refused. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ticketId":{"type":"string","minLength":1},"assigneeId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["ticketId","assigneeId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"ticket":{"type":"object","properties":{"replyEmailFailed":{"type":"boolean"},"ticketUrl":{"type":"string"},"id":{"type":"string"},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"subject":{"type":"string"},"status":{"type":"string","enum":["open","in_progress","waiting_customer","resolved"]},"priority":{"type":"string","enum":["low","normal","high","urgent"]},"installationId":{"type":"string"},"requester":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"company":{"type":"string"},"openingApp":{"type":"string"}},"required":["name","email","company","openingApp"],"additionalProperties":false},"createdAt":{"type":"number"},"updatedAt":{"type":"number"},"firstHumanReplyAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"latestRequesterSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"requesterLastSeenSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unread":{"type":"boolean"},"reopenedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reopened":{"type":"boolean"},"replyPromise":{"type":"object","properties":{"minutes":{"type":"number"},"businessDayMinutes":{"type":"number"},"dueAt":{"type":"number"}},"required":["minutes","businessDayMinutes","dueAt"],"additionalProperties":false},"firstReply":{"type":"object","properties":{"minutes":{"anyOf":[{"type":"number"},{"type":"null"}]},"pending":{"type":"boolean"},"pastPromise":{"type":"boolean"}},"required":["minutes","pending","pastPromise"],"additionalProperties":false},"assignee":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]}},"required":["id","number","subject","status","requester","createdAt","updatedAt","firstHumanReplyAt","latestRequesterSequence","requesterLastSeenSequence","unread","reopenedCount","reopened"],"additionalProperties":false}},"required":["ticket"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support ticket priority
- Operation ID:
support.ticket.priority - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
support:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/ticket/priority - MCP:
manage_support_ticket(actionpriority) — Set Support Ticket Priority. Set a Support Ticket's priority: low, normal, high or urgent (a ticket without one is normal). Operators only; the change is an internal event and Requesters never see priority. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ticketId":{"type":"string","minLength":1},"priority":{"type":"string","enum":["low","normal","high","urgent"]},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["ticketId","priority"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"ticket":{"type":"object","properties":{"replyEmailFailed":{"type":"boolean"},"ticketUrl":{"type":"string"},"id":{"type":"string"},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"subject":{"type":"string"},"status":{"type":"string","enum":["open","in_progress","waiting_customer","resolved"]},"priority":{"type":"string","enum":["low","normal","high","urgent"]},"installationId":{"type":"string"},"requester":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"company":{"type":"string"},"openingApp":{"type":"string"}},"required":["name","email","company","openingApp"],"additionalProperties":false},"createdAt":{"type":"number"},"updatedAt":{"type":"number"},"firstHumanReplyAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"latestRequesterSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"requesterLastSeenSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unread":{"type":"boolean"},"reopenedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reopened":{"type":"boolean"},"replyPromise":{"type":"object","properties":{"minutes":{"type":"number"},"businessDayMinutes":{"type":"number"},"dueAt":{"type":"number"}},"required":["minutes","businessDayMinutes","dueAt"],"additionalProperties":false},"firstReply":{"type":"object","properties":{"minutes":{"anyOf":[{"type":"number"},{"type":"null"}]},"pending":{"type":"boolean"},"pastPromise":{"type":"boolean"}},"required":["minutes","pending","pastPromise"],"additionalProperties":false},"assignee":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]}},"required":["id","number","subject","status","requester","createdAt","updatedAt","firstHumanReplyAt","latestRequesterSequence","requesterLastSeenSequence","unread","reopenedCount","reopened"],"additionalProperties":false}},"required":["ticket"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support ticket wait
- Operation ID:
support.ticket.wait - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
support:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/ticket/wait - MCP:
manage_support_ticket(actionwait) — Wait for Requester. Mark an unresolved Support Ticket waiting for the Requester. Their next message returns it to open and keeps the Assignee. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,ticket_resolved
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ticketId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["ticketId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"ticket":{"type":"object","properties":{"replyEmailFailed":{"type":"boolean"},"ticketUrl":{"type":"string"},"id":{"type":"string"},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"subject":{"type":"string"},"status":{"type":"string","enum":["open","in_progress","waiting_customer","resolved"]},"priority":{"type":"string","enum":["low","normal","high","urgent"]},"installationId":{"type":"string"},"requester":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"company":{"type":"string"},"openingApp":{"type":"string"}},"required":["name","email","company","openingApp"],"additionalProperties":false},"createdAt":{"type":"number"},"updatedAt":{"type":"number"},"firstHumanReplyAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"latestRequesterSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"requesterLastSeenSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unread":{"type":"boolean"},"reopenedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reopened":{"type":"boolean"},"replyPromise":{"type":"object","properties":{"minutes":{"type":"number"},"businessDayMinutes":{"type":"number"},"dueAt":{"type":"number"}},"required":["minutes","businessDayMinutes","dueAt"],"additionalProperties":false},"firstReply":{"type":"object","properties":{"minutes":{"anyOf":[{"type":"number"},{"type":"null"}]},"pending":{"type":"boolean"},"pastPromise":{"type":"boolean"}},"required":["minutes","pending","pastPromise"],"additionalProperties":false},"assignee":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]}},"required":["id","number","subject","status","requester","createdAt","updatedAt","firstHumanReplyAt","latestRequesterSequence","requesterLastSeenSequence","unread","reopenedCount","reopened"],"additionalProperties":false}},"required":["ticket"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}support ticket resolve
- Operation ID:
support.ticket.resolve - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
support:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/support/ticket/resolve - MCP:
manage_support_ticket(actionresolve) — Resolve Support Ticket. Resolve a Support Ticket in human hands. Never returns it to the AI. A Requester must explicitly reopen before another reply. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ticketId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":1,"maxLength":200}},"required":["ticketId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"ticket":{"type":"object","properties":{"replyEmailFailed":{"type":"boolean"},"ticketUrl":{"type":"string"},"id":{"type":"string"},"number":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"subject":{"type":"string"},"status":{"type":"string","enum":["open","in_progress","waiting_customer","resolved"]},"priority":{"type":"string","enum":["low","normal","high","urgent"]},"installationId":{"type":"string"},"requester":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"company":{"type":"string"},"openingApp":{"type":"string"}},"required":["name","email","company","openingApp"],"additionalProperties":false},"createdAt":{"type":"number"},"updatedAt":{"type":"number"},"firstHumanReplyAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"latestRequesterSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"requesterLastSeenSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unread":{"type":"boolean"},"reopenedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reopened":{"type":"boolean"},"replyPromise":{"type":"object","properties":{"minutes":{"type":"number"},"businessDayMinutes":{"type":"number"},"dueAt":{"type":"number"}},"required":["minutes","businessDayMinutes","dueAt"],"additionalProperties":false},"firstReply":{"type":"object","properties":{"minutes":{"anyOf":[{"type":"number"},{"type":"null"}]},"pending":{"type":"boolean"},"pastPromise":{"type":"boolean"}},"required":["minutes","pending","pastPromise"],"additionalProperties":false},"assignee":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},{"type":"null"}]}},"required":["id","number","subject","status","requester","createdAt","updatedAt","firstHumanReplyAt","latestRequesterSequence","requesterLastSeenSequence","unread","reopenedCount","reopened"],"additionalProperties":false}},"required":["ticket"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}context get
- Operation ID:
get_context - Authentication:
oauth_token,workspace_api_key - Workspace selection:
none - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/context/get - MCP:
get_context— Get Andy context. Return everything needed to route any Andy operation in one call: the connected identity and its capabilities, accessible Workspaces, the selected Workspace with its provenance, that Workspace's active Agents and live Entitlements, its labeled Platform Connections (the destinations a Post can publish to), availability, and ready-to-run repairs when no Workspace is selected. When agentsCompleteness.status is truncated, call this again with its nextCursor as agentsCursor to read the remaining Agents. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentsCursor":{"type":"string","minLength":1}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"identity":{"type":"object","properties":{"user":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","email","name"],"additionalProperties":false},{"type":"null"}]},"authMode":{"type":"string","enum":["oauth","workspace_api_key"]},"scopes":{"type":"array","items":{"type":"string"}},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]}},"required":["user","authMode","scopes","expiresAt"],"additionalProperties":false},"workspaces":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"role":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"status":{"type":"string","enum":["active","archived"]}},"required":["id","name","slug","role","status"],"additionalProperties":false}},"selection":{"type":"object","properties":{"status":{"type":"string","enum":["selected","required","unavailable"]},"source":{"anyOf":[{"type":"string","enum":["api_key","auto_single","session"]},{"type":"null"}]},"workspaceId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["status","source","workspaceId"],"additionalProperties":false},"workspace":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"role":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"status":{"type":"string","enum":["active","archived"]}},"required":["id","name","slug","role","status"],"additionalProperties":false},{"type":"null"}]},"agents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"status":{"type":"string","const":"active"},"defaultLanguage":{"type":"string","enum":["en","es"]}},"required":["id","name","slug","status","defaultLanguage"],"additionalProperties":false}},"agentsCompleteness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","truncated","not_authorized","no_workspace"]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"nextCursor":{"type":"string","minLength":1}},"required":["status","returned","limit"],"additionalProperties":false},"entitlements":{"anyOf":[{"type":"object","properties":{"workspaceId":{"type":"string","minLength":1},"plan":{"anyOf":[{"type":"string"},{"type":"null"}]},"planName":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"active":{"type":"boolean"},"features":{"type":"array","items":{"type":"string"}},"limits":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},"usage":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},"channels":{"type":"object","properties":{"allowed":{"type":"array","items":{"type":"string"}},"maxActive":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["allowed","maxActive"],"additionalProperties":false},"trialEnd":{"anyOf":[{"type":"number"},{"type":"null"}]},"periodEnd":{"anyOf":[{"type":"number"},{"type":"null"}]},"cancelAtPeriodEnd":{"type":"boolean"},"supportDeskSource":{"anyOf":[{"type":"string","enum":["plan","grant"]},{"type":"null"}]}},"required":["workspaceId","plan","planName","status","active","features","limits","usage","channels","trialEnd","periodEnd","cancelAtPeriodEnd"],"additionalProperties":false},{"type":"null"}]},"connections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"provider":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["connected","disconnected","expired"]},"capabilities":{"type":"object","properties":{"canPublish":{"type":"boolean"},"canReadMetrics":{"type":"boolean"},"maxTextLength":{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"formats":{"default":["text"],"type":"array","items":{"type":"string","enum":["text","article"]}}},"required":["canPublish","canReadMetrics","maxTextLength","formats"],"additionalProperties":false}},"required":["id","label","provider","status","capabilities"],"additionalProperties":false}},"connectionsCompleteness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","not_authorized","no_workspace"]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","returned"],"additionalProperties":false},"availability":{"type":"object","properties":{"api":{"type":"boolean"},"mcp":{"type":"boolean"}},"required":["api","mcp"],"additionalProperties":false},"remediation":{"type":"object","properties":{"calls":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1},"operationId":{"type":"string","minLength":1},"mcpToolName":{"type":"string","minLength":1},"mode":{"type":"string","const":"merge_and_retry"},"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["operationId","input"],"additionalProperties":false}},"setupUrl":{"type":"string","format":"uri"}},"required":["calls"],"additionalProperties":false}},"required":["identity","workspaces","selection","workspace","agents","agentsCompleteness","entitlements","connections","connectionsCompleteness","availability","remediation"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}context select-workspace
- Operation ID:
select_workspace - Authentication:
oauth_token - Workspace selection:
none - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP: not available — this operation has no HTTP adapter.
- CLI:
context select-workspace— Stores the Workspace in the local CLI profile — the CLI's own session — and prints the same context bundle read back through get_context. It does not bind an MCP session. - MCP:
select_workspace— Select Andy Workspace. Bind one accessible Workspace to this MCP session and answer with the same complete context bundle as get_context, so no further orientation call is needed. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,resource_not_found,permission_denied,workspace_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"workspaceId":{"type":"string","minLength":1}},"required":["workspaceId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"identity":{"type":"object","properties":{"user":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","email","name"],"additionalProperties":false},{"type":"null"}]},"authMode":{"type":"string","enum":["oauth","workspace_api_key"]},"scopes":{"type":"array","items":{"type":"string"}},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]}},"required":["user","authMode","scopes","expiresAt"],"additionalProperties":false},"workspaces":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"role":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"status":{"type":"string","enum":["active","archived"]}},"required":["id","name","slug","role","status"],"additionalProperties":false}},"selection":{"type":"object","properties":{"status":{"type":"string","enum":["selected","required","unavailable"]},"source":{"anyOf":[{"type":"string","enum":["api_key","auto_single","session"]},{"type":"null"}]},"workspaceId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["status","source","workspaceId"],"additionalProperties":false},"workspace":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"role":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"status":{"type":"string","enum":["active","archived"]}},"required":["id","name","slug","role","status"],"additionalProperties":false},{"type":"null"}]},"agents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"status":{"type":"string","const":"active"},"defaultLanguage":{"type":"string","enum":["en","es"]}},"required":["id","name","slug","status","defaultLanguage"],"additionalProperties":false}},"agentsCompleteness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","truncated","not_authorized","no_workspace"]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":1,"maximum":9007199254740991},"nextCursor":{"type":"string","minLength":1}},"required":["status","returned","limit"],"additionalProperties":false},"entitlements":{"anyOf":[{"type":"object","properties":{"workspaceId":{"type":"string","minLength":1},"plan":{"anyOf":[{"type":"string"},{"type":"null"}]},"planName":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"active":{"type":"boolean"},"features":{"type":"array","items":{"type":"string"}},"limits":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},"usage":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},"channels":{"type":"object","properties":{"allowed":{"type":"array","items":{"type":"string"}},"maxActive":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["allowed","maxActive"],"additionalProperties":false},"trialEnd":{"anyOf":[{"type":"number"},{"type":"null"}]},"periodEnd":{"anyOf":[{"type":"number"},{"type":"null"}]},"cancelAtPeriodEnd":{"type":"boolean"},"supportDeskSource":{"anyOf":[{"type":"string","enum":["plan","grant"]},{"type":"null"}]}},"required":["workspaceId","plan","planName","status","active","features","limits","usage","channels","trialEnd","periodEnd","cancelAtPeriodEnd"],"additionalProperties":false},{"type":"null"}]},"connections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"provider":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["connected","disconnected","expired"]},"capabilities":{"type":"object","properties":{"canPublish":{"type":"boolean"},"canReadMetrics":{"type":"boolean"},"maxTextLength":{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"formats":{"default":["text"],"type":"array","items":{"type":"string","enum":["text","article"]}}},"required":["canPublish","canReadMetrics","maxTextLength","formats"],"additionalProperties":false}},"required":["id","label","provider","status","capabilities"],"additionalProperties":false}},"connectionsCompleteness":{"type":"object","properties":{"status":{"type":"string","enum":["complete","not_authorized","no_workspace"]},"returned":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["status","returned"],"additionalProperties":false},"availability":{"type":"object","properties":{"api":{"type":"boolean"},"mcp":{"type":"boolean"}},"required":["api","mcp"],"additionalProperties":false},"remediation":{"type":"object","properties":{"calls":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","minLength":1},"operationId":{"type":"string","minLength":1},"mcpToolName":{"type":"string","minLength":1},"mode":{"type":"string","const":"merge_and_retry"},"input":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["operationId","input"],"additionalProperties":false}},"setupUrl":{"type":"string","format":"uri"}},"required":["calls"],"additionalProperties":false}},"required":["identity","workspaces","selection","workspace","agents","agentsCompleteness","entitlements","connections","connectionsCompleteness","availability","remediation"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}auth status
- Operation ID:
identity.status - Authentication:
oauth_token,workspace_api_key - Workspace selection:
optional - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/identity/status - MCP: not exposed on MCP — Inspect Andy identity status. Return the current Andy identity, selected Workspace, authentication mode, availability, and request ID without exposing credentials.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,setup_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"client":{"type":"object","properties":{"version":{"type":"string"},"endpoint":{"type":"string","format":"uri"}},"required":["version","endpoint"],"additionalProperties":false},"auth":{"type":"object","properties":{"mode":{"type":"string","enum":["user","workspace_api_key"]},"secretLocation":{"type":"string","enum":["os_store","environment","secret_file","unknown"]},"expiresAt":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},{"type":"null"}]}},"required":["mode","secretLocation","expiresAt"],"additionalProperties":false},"user":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","email","name"],"additionalProperties":false},{"type":"null"}]},"workspace":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"slug":{"anyOf":[{"type":"string"},{"type":"null"}]},"role":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"status":{"type":"string","enum":["active","archived"]}},"required":["id","name","slug","role","status"],"additionalProperties":false},{"type":"null"}]},"credential":{"anyOf":[{"type":"object","properties":{"keyPrefix":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}}},"required":["keyPrefix","scopes"],"additionalProperties":false},{"type":"null"}]},"availability":{"type":"object","properties":{"api":{"type":"boolean"},"mcp":{"type":"boolean"}},"required":["api","mcp"],"additionalProperties":false},"selection":{"type":"object","properties":{"status":{"type":"string","enum":["selected","required","unavailable"]},"source":{"anyOf":[{"type":"string","enum":["api_key","auto_single","session"]},{"type":"null"}]},"workspaceId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","source","workspaceId"],"additionalProperties":false},"status":{"type":"string","const":"ready"}},"required":["client","auth","user","workspace","credential","availability","status"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}workspace list
- Operation ID:
workspace.list - Authentication:
oauth_token - Workspace selection:
none - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/workspaces/list - MCP: not exposed on MCP — List Andy Workspaces. List the Workspaces available to the connected Andy identity.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cursor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"workspaces":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"role":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"status":{"type":"string","enum":["active","archived"]}},"required":["id","name","slug","role","status"],"additionalProperties":false}}},"required":["workspaces"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}workspace select
- Operation ID:
workspace.select - Authentication:
oauth_token - Workspace selection:
none - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP: not available — this operation has no HTTP adapter.
- CLI:
workspace select— Validates the ID or slug across every Workspace page, then stores it as the local CLI profile default. It is not a tenant operation and binds no MCP session. - MCP: not exposed on MCP — Select an Andy Workspace. Bind this OAuth MCP session to one Workspace returned by workspace.list. Superseded on MCP by select_workspace (#1068); the CLI command stores a local profile default instead.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,resource_not_found,permission_denied
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"workspaceId":{"type":"string","minLength":1}},"required":["workspaceId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"workspace":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"role":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"status":{"type":"string","enum":["active","archived"]}},"required":["id","name","slug","role","status"],"additionalProperties":false}},"required":["workspace"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}workspace inspect
- Operation ID:
workspace.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/workspaces/inspect - MCP:
get_workspace— Inspect an Andy Workspace. Inspect the selected Workspace without exposing billing credentials. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,resource_not_found
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"workspace":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"role":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"status":{"type":"string","enum":["active","archived"]}},"required":["id","name","slug","role","status"],"additionalProperties":false}},"required":["workspace"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}workspace create
- Operation ID:
workspace.create - Authentication:
oauth_token - Workspace selection:
none - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/workspaces/create - MCP: not exposed on MCP — Create an Andy Workspace. Create a Workspace owned by the current User under existing Plan and trial rules.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["name"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"workspace":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"role":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"status":{"type":"string","enum":["active","archived"]}},"required":["id","name","slug","role","status"],"additionalProperties":false}},"required":["workspace"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}workspace rename
- Operation ID:
workspace.rename - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/workspaces/rename - MCP: not exposed on MCP — Rename an Andy Workspace. Rename the selected Workspace as a current Admin or Owner.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,workspace_archived,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["name"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"workspace":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"role":{"anyOf":[{"type":"string","enum":["owner","admin","member"]},{"type":"null"}]},"status":{"type":"string","enum":["active","archived"]}},"required":["id","name","slug","role","status"],"additionalProperties":false}},"required":["workspace"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}workspace entitlements
- Operation ID:
workspace.entitlements.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
workspace:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/workspaces/entitlements/inspect - MCP:
get_workspace_entitlements— Inspect Andy Workspace Entitlements. Inspect current Entitlements, Limits, Usage, Plan, and trial state for the selected Workspace. A Workspace API Key needs workspace:read. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"entitlement":{"type":"object","properties":{"workspaceId":{"type":"string","minLength":1},"plan":{"anyOf":[{"type":"string"},{"type":"null"}]},"planName":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string"},"active":{"type":"boolean"},"features":{"type":"array","items":{"type":"string"}},"limits":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},"usage":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"}},"channels":{"type":"object","properties":{"allowed":{"type":"array","items":{"type":"string"}},"maxActive":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["allowed","maxActive"],"additionalProperties":false},"trialEnd":{"anyOf":[{"type":"number"},{"type":"null"}]},"periodEnd":{"anyOf":[{"type":"number"},{"type":"null"}]},"cancelAtPeriodEnd":{"type":"boolean"},"supportDeskSource":{"anyOf":[{"type":"string","enum":["plan","grant"]},{"type":"null"}]}},"required":["workspaceId","plan","planName","status","active","features","limits","usage","channels","trialEnd","periodEnd","cancelAtPeriodEnd"],"additionalProperties":false}},"required":["entitlement"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}assistant telegram inspect
- Operation ID:
assistant.telegram.inspect - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/assistant/telegram/inspect - MCP:
manage_telegram_connection(actioninspect) — Inspect your Andy Telegram connection. Inspect your own Telegram connection and Workspace availability. Never reveals a connection token. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,telegram_already_connected,telegram_challenge_invalid,telegram_identity_conflict,limit_exceeded
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"enabled":{"type":"boolean"},"status":{"type":"string","enum":["unavailable","connected","awaiting_confirmation","pending","expired","disconnected"]},"workspace":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}},"required":["id","name","slug"],"additionalProperties":false},"connection":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"accountLabel":{"type":"string"},"connectedAt":{"type":"number"}},"required":["id","accountLabel","connectedAt"],"additionalProperties":false},{"type":"null"}]},"challenge":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"expiresAt":{"type":"number"},"accountLabel":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","expiresAt","accountLabel"],"additionalProperties":false},{"type":"null"}]},"appPath":{"type":"string"},"botUrl":{"type":"string"},"appRequired":{"type":"boolean"},"deepLink":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["enabled","status","workspace","connection","challenge","appPath","botUrl","appRequired","deepLink"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}assistant telegram prepare
- Operation ID:
assistant.telegram.prepare - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/assistant/telegram/prepare - MCP:
manage_telegram_connection(actionprepare) — Prepare your Andy Telegram connection. Connect your own Telegram account. Assistants and external callers receive an App handoff; only the connection page receives the one-time proof link. Open appPath to continue. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,telegram_already_connected,telegram_challenge_invalid,telegram_identity_conflict,limit_exceeded
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"enabled":{"type":"boolean"},"status":{"type":"string","enum":["unavailable","connected","awaiting_confirmation","pending","expired","disconnected"]},"workspace":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}},"required":["id","name","slug"],"additionalProperties":false},"connection":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"accountLabel":{"type":"string"},"connectedAt":{"type":"number"}},"required":["id","accountLabel","connectedAt"],"additionalProperties":false},{"type":"null"}]},"challenge":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"expiresAt":{"type":"number"},"accountLabel":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","expiresAt","accountLabel"],"additionalProperties":false},{"type":"null"}]},"appPath":{"type":"string"},"botUrl":{"type":"string"},"appRequired":{"type":"boolean"},"deepLink":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["enabled","status","workspace","connection","challenge","appPath","botUrl","appRequired","deepLink"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}assistant telegram confirm
- Operation ID:
assistant.telegram.confirm - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/assistant/telegram/confirm - MCP:
manage_telegram_connection(actionconfirm) — Confirm your Andy Telegram connection. Confirm the Telegram account shown on your connection page. Final confirmation must come from the same signed-in App session that prepared the link. Other callers receive an App handoff. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,telegram_already_connected,telegram_challenge_invalid,telegram_identity_conflict,limit_exceeded
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"challengeId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["challengeId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"enabled":{"type":"boolean"},"status":{"type":"string","enum":["unavailable","connected","awaiting_confirmation","pending","expired","disconnected"]},"workspace":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}},"required":["id","name","slug"],"additionalProperties":false},"connection":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"accountLabel":{"type":"string"},"connectedAt":{"type":"number"}},"required":["id","accountLabel","connectedAt"],"additionalProperties":false},{"type":"null"}]},"challenge":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"expiresAt":{"type":"number"},"accountLabel":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","expiresAt","accountLabel"],"additionalProperties":false},{"type":"null"}]},"appPath":{"type":"string"},"botUrl":{"type":"string"},"appRequired":{"type":"boolean"},"deepLink":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["enabled","status","workspace","connection","challenge","appPath","botUrl","appRequired","deepLink"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}assistant telegram disconnect
- Operation ID:
assistant.telegram.disconnect - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/assistant/telegram/disconnect - MCP:
manage_telegram_connection(actiondisconnect) — Disconnect your Andy Telegram connection. Disconnect your own Telegram account from the selected Workspace immediately. Remains usable when the feature flag is Off. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,telegram_already_connected,telegram_challenge_invalid,telegram_identity_conflict,limit_exceeded
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"enabled":{"type":"boolean"},"status":{"type":"string","enum":["unavailable","connected","awaiting_confirmation","pending","expired","disconnected"]},"workspace":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}},"required":["id","name","slug"],"additionalProperties":false},"connection":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"accountLabel":{"type":"string"},"connectedAt":{"type":"number"}},"required":["id","accountLabel","connectedAt"],"additionalProperties":false},{"type":"null"}]},"challenge":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"expiresAt":{"type":"number"},"accountLabel":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","expiresAt","accountLabel"],"additionalProperties":false},{"type":"null"}]},"appPath":{"type":"string"},"botUrl":{"type":"string"},"appRequired":{"type":"boolean"},"deepLink":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["enabled","status","workspace","connection","challenge","appPath","botUrl","appRequired","deepLink"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}workspace time-zone show
- Operation ID:
workspace.time_zone.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
workspace:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/workspaces/time-zone/inspect - MCP:
manage_workspace_time_zone(actioninspect) — Inspect the Andy Workspace time zone. Read the selected Workspace's IANA time zone. Dates in the App and Owner emails use it. source "default" means none is set yet and America/Santiago applies. A Workspace API Key needs workspace:read. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,entitlement_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"workspaceId":{"type":"string","minLength":1},"timeZone":{"type":"string","minLength":1},"source":{"type":"string","enum":["workspace","default"]}},"required":["workspaceId","timeZone","source"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}workspace time-zone set
- Operation ID:
workspace.time_zone.set - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/workspaces/time-zone/set - MCP:
manage_workspace_time_zone(actionset) — Set the Andy Workspace time zone. Set the selected Workspace's IANA time zone, e.g. "Europe/London" or "America/Mexico_City". Dates in the App and Owner emails use it. Idempotent. Owner/Admin only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"timeZone":{"type":"string","minLength":1,"maxLength":64},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["timeZone"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"workspaceId":{"type":"string","minLength":1},"timeZone":{"type":"string","minLength":1},"source":{"type":"string","enum":["workspace","default"]}},"required":["workspaceId","timeZone","source"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}billing show
- Operation ID:
workspace.billing.inspect - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
owner - Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/workspaces/billing/inspect - MCP:
get_workspace_billing— Inspect Andy Workspace billing. Read the selected Workspace's plan (name, list price, status, next charge date and amount after discounts and account credit, card) and its Billing Details from Stripe: legal name, billing email, address and each tax ID with its Tax Registration Status and the statement that confirms it. needsPaymentMethod is true after an ownership transfer until the new Owner adds a card. Owner only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"workspaceId":{"type":"string","minLength":1},"plan":{"type":"object","properties":{"slug":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","enum":["active","trialing","past_due","inactive","free","complimentary"]},"price":{"anyOf":[{"type":"object","properties":{"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","minLength":1},"interval":{"type":"string","enum":["day","week","month","year"]},"intervalCount":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["amount","currency","interval","intervalCount"],"additionalProperties":false},{"type":"null"}]},"nextChargeAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"nextCharge":{"anyOf":[{"type":"object","properties":{"amount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","minLength":1}},"required":["amount","currency"],"additionalProperties":false},{"type":"null"}]},"cancelsAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"trialEnd":{"anyOf":[{"type":"number"},{"type":"null"}]},"paymentMethod":{"anyOf":[{"type":"object","properties":{"brand":{"type":"string"},"last4":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["brand","last4"],"additionalProperties":false},{"type":"null"}]}},"required":["slug","name","status","price","nextChargeAt","nextCharge","cancelsAt","trialEnd","paymentMethod"],"additionalProperties":false},"hasCustomer":{"type":"boolean"},"billingDetails":{"anyOf":[{"type":"object","properties":{"legalName":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"address":{"anyOf":[{"type":"object","properties":{"line1":{"anyOf":[{"type":"string"},{"type":"null"}]},"line2":{"anyOf":[{"type":"string"},{"type":"null"}]},"city":{"anyOf":[{"type":"string"},{"type":"null"}]},"state":{"anyOf":[{"type":"string"},{"type":"null"}]},"postalCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["line1","line2","city","state","postalCode","country"],"additionalProperties":false},{"type":"null"}]},"taxIds":{"type":"array","items":{"type":"object","properties":{"stripeTaxIdId":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"value":{"type":"string"},"country":{"anyOf":[{"type":"string"},{"type":"null"}]},"registration":{"type":"object","properties":{"confirmed":{"type":"boolean"},"confirmedAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"confirmedBy":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["confirmed","confirmedAt","confirmedBy"],"additionalProperties":false},"confirmation":{"type":"object","properties":{"label":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"required":["es","en"],"additionalProperties":false},"statement":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"required":["es","en"],"additionalProperties":false},"wordingVersion":{"type":"object","properties":{"es":{"type":"string","minLength":1},"en":{"type":"string","minLength":1}},"required":["es","en"],"additionalProperties":false}},"required":["label","statement","wordingVersion"],"additionalProperties":false}},"required":["stripeTaxIdId","type","value","country","registration","confirmation"],"additionalProperties":false}}},"required":["legalName","email","address","taxIds"],"additionalProperties":false},{"type":"null"}]},"needsPaymentMethod":{"type":"boolean"}},"required":["workspaceId","plan","hasCustomer","billingDetails","needsPaymentMethod"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}billing portal
- Operation ID:
workspace.billing.portal_session.create - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
owner - Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/workspaces/billing/portal-session/create - MCP:
manage_workspace_billing(actionportal_session) — Open the Andy Workspace billing portal. Return a fresh Stripe billing portal URL for the selected Workspace, for the Owner to open. flow "manage" changes the card, the plan or cancels; "payment_method" goes straight to adding a card; "details" edits the legal name, address and tax IDs, which apply to future invoices. Works after a cancellation, once the Workspace has paid. Owner only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"flow":{"type":"string","enum":["manage","payment_method","details"]}},"required":["flow"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"flow":{"type":"string","enum":["manage","payment_method","details"]}},"required":["url","flow"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}billing tax-status
- Operation ID:
workspace.billing.tax_registration.set - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
owner - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/workspaces/billing/tax-registration/set - MCP:
manage_workspace_billing(actionset_tax_registration) — Set the Tax Registration Status of a tax ID. Confirm (confirmed true) or remove (confirmed false) the Owner's statement that the holder of one of the Workspace's tax IDs is registered for VAT, the IVA in Chile. Confirm only after the Owner read the exact statement from the billing inspect, in their language, and agreed; send that language's wordingVersion. Never confirm on the Owner's behalf. A changed tax ID starts unconfirmed. Idempotent. Owner only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,confirmation_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"stripeTaxIdId":{"type":"string","pattern":"^txi_"},"confirmed":{"type":"boolean"},"wordingVersion":{"type":"string","minLength":1}},"required":["stripeTaxIdId","confirmed"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"workspaceId":{"type":"string","minLength":1},"taxId":{"type":"object","properties":{"stripeTaxIdId":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"value":{"type":"string"},"country":{"anyOf":[{"type":"string"},{"type":"null"}]},"registration":{"type":"object","properties":{"confirmed":{"type":"boolean"},"confirmedAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"confirmedBy":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["confirmed","confirmedAt","confirmedBy"],"additionalProperties":false},"confirmation":{"type":"object","properties":{"label":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"required":["es","en"],"additionalProperties":false},"statement":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"required":["es","en"],"additionalProperties":false},"wordingVersion":{"type":"object","properties":{"es":{"type":"string","minLength":1},"en":{"type":"string","minLength":1}},"required":["es","en"],"additionalProperties":false}},"required":["label","statement","wordingVersion"],"additionalProperties":false}},"required":["stripeTaxIdId","type","value","country","registration","confirmation"],"additionalProperties":false}},"required":["workspaceId","taxId"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}invoices list
- Operation ID:
workspace.invoices.list - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
owner - Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/workspaces/invoices/list - MCP:
list_invoices(actionlist) — List Andy Workspace invoices. List the Invoices the selected Workspace was charged, newest first, live from Stripe: number, issue date, description, billed period, total in its currency, and paid or unpaid. History stays after a cancellation. $0 trial Invoices are left out unless includeZero is true; zeroCount says how many there are. Rows carry no URL: get a PDF or payment link with the invoice link operation. Page with meta.nextCursor. Owner only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"includeZero":{"type":"boolean"},"cursor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"workspaceId":{"type":"string","minLength":1},"invoices":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"number":{"anyOf":[{"type":"string"},{"type":"null"}]},"issuedAt":{"type":"number"},"item":{"oneOf":[{"type":"object","properties":{"kind":{"type":"string","const":"plan"},"planName":{"type":"string"}},"required":["kind","planName"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"credits"},"credits":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991}},"required":["kind","credits"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","const":"other"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["kind","description"],"additionalProperties":false}]},"period":{"anyOf":[{"type":"object","properties":{"start":{"type":"number"},"end":{"type":"number"}},"required":["start","end"],"additionalProperties":false},{"type":"null"}]},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currency":{"type":"string","minLength":1},"status":{"type":"string","enum":["paid","unpaid"]}},"required":["id","number","issuedAt","item","period","total","currency","status"],"additionalProperties":false}},"zeroCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["workspaceId","invoices","zeroCount"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}invoices link
- Operation ID:
workspace.invoices.link - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
owner - Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/workspaces/invoices/link - MCP:
list_invoices(actionlink) — Get an Andy Workspace invoice link. Return a fresh link to one of the selected Workspace's Invoices: kind "pdf" downloads it, kind "pay" opens Stripe's payment page for an unpaid one. Give the link to the Owner to open now; never store it or send it to anyone else. Owner only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"invoiceId":{"type":"string","pattern":"^in_"},"kind":{"default":"pdf","type":"string","enum":["pdf","pay"]}},"required":["invoiceId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"invoiceId":{"type":"string","minLength":1},"kind":{"type":"string","enum":["pdf","pay"]},"url":{"type":"string","format":"uri"},"label":{"type":"string","minLength":1}},"required":["invoiceId","kind","url","label"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}members list
- Operation ID:
workspace.member.list - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/workspaces/members/list - MCP:
manage_workspace_members(actionlist_members) — List Andy Workspace members. List the selected Workspace's members with their role (owner, admin or member), name, email and join date. Every member may read it. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"members":{"type":"array","items":{"type":"object","properties":{"membershipId":{"type":"string","minLength":1},"userId":{"type":"string","minLength":1},"role":{"type":"string","enum":["owner","admin","member"]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"type":"string","minLength":1},"isDeleted":{"type":"boolean"},"joinedAt":{"type":"number"}},"required":["membershipId","userId","role","name","email","isDeleted","joinedAt"],"additionalProperties":false}}},"required":["members"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}members role
- Operation ID:
workspace.member.change_role - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/workspaces/members/change-role - MCP:
manage_workspace_members(actionchange_role) — Change an Andy Workspace member's role. Make one member an admin or a member, by membershipId from the member list. The Owner's role changes only through ownership transfer in the App. Owner/Admin only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,workspace_commercial_inactive,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"membershipId":{"type":"string","minLength":1},"role":{"type":"string","enum":["admin","member"]},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["membershipId","role"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"member":{"type":"object","properties":{"membershipId":{"type":"string","minLength":1},"userId":{"type":"string","minLength":1},"role":{"type":"string","enum":["owner","admin","member"]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"type":"string","minLength":1},"isDeleted":{"type":"boolean"},"joinedAt":{"type":"number"}},"required":["membershipId","userId","role","name","email","isDeleted","joinedAt"],"additionalProperties":false}},"required":["member"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}members remove
- Operation ID:
workspace.member.remove - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/workspaces/members/remove - MCP:
manage_workspace_members(actionremove) — Remove an Andy Workspace member. Remove one member from the selected Workspace, by membershipId from the member list. They lose access at once. The Owner cannot be removed, and you cannot remove yourself: leave the Workspace in the App. Owner/Admin only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,workspace_commercial_inactive,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"membershipId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["membershipId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"membershipId":{"type":"string","minLength":1},"removed":{"type":"boolean","const":true}},"required":["membershipId","removed"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}members invites
- Operation ID:
workspace.invite.list - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/workspaces/invites/list - MCP:
manage_workspace_members(actionlist_invites) — List Andy Workspace invitations. List the selected Workspace's invitations: email, role, status (pending, revoked or accepted) and expiry. A pending invitation takes a seat until it expires. Owner/Admin only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"invites":{"type":"array","items":{"type":"object","properties":{"inviteId":{"type":"string","minLength":1},"email":{"type":"string","minLength":1},"role":{"type":"string","enum":["admin","member"]},"status":{"type":"string","enum":["pending","revoked","accepted"]},"expiresAt":{"type":"number"},"createdAt":{"type":"number"},"invitedBy":{"type":"string","minLength":1}},"required":["inviteId","email","role","status","expiresAt","createdAt","invitedBy"],"additionalProperties":false}}},"required":["invites"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}members invite
- Operation ID:
workspace.invite.create - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/workspaces/invites/create - MCP:
manage_workspace_members(actioninvite) — Invite someone to an Andy Workspace. Email an invitation to join the selected Workspace as an admin or a member. It sends an email, so set confirm true only after the User agreed to send it. Inviting the same email again replaces its pending invitation. Refused with limit_exceeded when members plus pending invitations fill the plan's seats. Owner/Admin only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,workspace_commercial_inactive,confirmation_required,limit_exceeded,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"email":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"role":{"type":"string","enum":["admin","member"]},"confirm":{"type":"boolean"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["email","role"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"invite":{"type":"object","properties":{"inviteId":{"type":"string","minLength":1},"email":{"type":"string","minLength":1},"role":{"type":"string","enum":["admin","member"]},"status":{"type":"string","enum":["pending","revoked","accepted"]},"expiresAt":{"type":"number"},"createdAt":{"type":"number"},"invitedBy":{"type":"string","minLength":1}},"required":["inviteId","email","role","status","expiresAt","createdAt","invitedBy"],"additionalProperties":false}},"required":["invite"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}members revoke
- Operation ID:
workspace.invite.revoke - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/workspaces/invites/revoke - MCP:
manage_workspace_members(actionrevoke_invite) — Revoke an Andy Workspace invitation. Revoke one pending invitation, by inviteId from the invitation list. Its link stops working and its seat frees up. Owner/Admin only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,workspace_commercial_inactive,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"inviteId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["inviteId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"invite":{"type":"object","properties":{"inviteId":{"type":"string","minLength":1},"email":{"type":"string","minLength":1},"role":{"type":"string","enum":["admin","member"]},"status":{"type":"string","enum":["pending","revoked","accepted"]},"expiresAt":{"type":"number"},"createdAt":{"type":"number"},"invitedBy":{"type":"string","minLength":1}},"required":["inviteId","email","role","status","expiresAt","createdAt","invitedBy"],"additionalProperties":false}},"required":["invite"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}agent list
- Operation ID:
agent.list - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/agents/list - MCP:
get_agent— List Andy Agents. List active Agents in the selected Workspace. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,resource_not_found,entitlement_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cursor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agents":{"type":"array","items":{"type":"object","properties":{"purpose":{"type":"string","enum":["sales","support","assistant"]},"id":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"status":{"type":"string","const":"active"},"defaultLanguage":{"type":"string","enum":["en","es"]},"configuration":{"type":"object","properties":{"instructions":{"anyOf":[{"type":"string"},{"type":"null"}]},"temperature":{"type":"number"},"tone":{"type":"string","enum":["formal","balanced","casual"]},"creativity":{"type":"string","enum":["predictable","balanced","creative"]},"handoffReply":{"default":{},"description":"The Handoff reply the Owner wrote per language. A missing language sends its default.","type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false}},"required":["instructions","temperature","tone","creativity","handoffReply"],"additionalProperties":false}},"required":["purpose","id","workspaceId","name","slug","status","defaultLanguage","configuration"],"additionalProperties":false}}},"required":["agents"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}agent inspect
- Operation ID:
agent.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/agents/inspect - MCP:
get_agent— Inspect an Andy Agent. Inspect one active Agent by exact ID in the selected Workspace. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,resource_not_found,entitlement_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1}},"required":["agentId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agent":{"type":"object","properties":{"purpose":{"type":"string","enum":["sales","support","assistant"]},"id":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"status":{"type":"string","const":"active"},"defaultLanguage":{"type":"string","enum":["en","es"]},"configuration":{"type":"object","properties":{"instructions":{"anyOf":[{"type":"string"},{"type":"null"}]},"temperature":{"type":"number"},"tone":{"type":"string","enum":["formal","balanced","casual"]},"creativity":{"type":"string","enum":["predictable","balanced","creative"]},"handoffReply":{"default":{},"description":"The Handoff reply the Owner wrote per language. A missing language sends its default.","type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false}},"required":["instructions","temperature","tone","creativity","handoffReply"],"additionalProperties":false}},"required":["purpose","id","workspaceId","name","slug","status","defaultLanguage","configuration"],"additionalProperties":false},"currentSupportAgentGranted":{"type":"boolean"}},"required":["agent"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}agent metrics
- Operation ID:
agent.metrics.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:read - Minimum User role:
member - Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/agents/metrics/inspect - MCP:
get_agent_metrics(actioninspect) — Inspect Agent Metrics. Read the Overview board's exact metrics and previous-period comparison in the Workspace time zone. Period is today, 7d, 30d or {month: YYYY-MM}. Clock defaults to now and is floored to the hour. While history is filling, no partial numbers are returned. Get agentId from get_context or get_agent. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"clock":{"type":"number"},"period":{"anyOf":[{"type":"string","enum":["today","7d","30d"]},{"type":"object","properties":{"month":{"type":"string","pattern":"^\\d{4}-(0[1-9]|1[0-2])$"}},"required":["month"],"additionalProperties":false}]}},"required":["agentId","period"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"metrics":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"filling"}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"ready"},"series":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"start":{"type":"number"},"exchanges":{"anyOf":[{"type":"number"},{"type":"null"}]},"leads":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["label","start","exchanges","leads"],"additionalProperties":false}},"kpis":{"type":"object","properties":{"exchanges":{"type":"object","properties":{"value":{"type":"number"},"previous":{"type":"number"}},"required":["value","previous"],"additionalProperties":false},"leads":{"type":"object","properties":{"value":{"type":"number"},"previous":{"type":"number"}},"required":["value","previous"],"additionalProperties":false},"leadConversion":{"type":"object","properties":{"value":{"type":"number"},"previous":{"type":"number"}},"required":["value","previous"],"additionalProperties":false},"answeredByAgentOnly":{"type":"object","properties":{"value":{"type":"number"},"previous":{"type":"number"}},"required":["value","previous"],"additionalProperties":false},"replyRate":{"type":"object","properties":{"value":{"type":"number"},"previous":{"type":"number"}},"required":["value","previous"],"additionalProperties":false},"medianResponseMs":{"type":"object","properties":{"value":{"type":"number"},"previous":{"type":"number"}},"required":["value","previous"],"additionalProperties":false},"afterHoursShare":{"type":"object","properties":{"value":{"type":"number"},"previous":{"type":"number"}},"required":["value","previous"],"additionalProperties":false}},"required":["exchanges","leads","leadConversion","answeredByAgentOnly","replyRate","medianResponseMs","afterHoursShare"],"additionalProperties":false},"byChannel":{"type":"array","items":{"type":"object","properties":{"channel":{"type":"string","enum":["whatsapp","instagram","widget","public_url","slack","voice"]},"exchanges":{"type":"number"},"leads":{"type":"number"}},"required":["channel","exchanges","leads"],"additionalProperties":false}},"byWeekday":{"type":"array","items":{"type":"number"}},"byHour":{"type":"array","items":{"type":"number"}},"afterHours":{"type":"object","properties":{"source":{"type":"string","enum":["business_hours","default"]},"timeZone":{"type":"string"},"hours":{"type":"object","properties":{"monday":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start","end"],"additionalProperties":false}},"tuesday":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start","end"],"additionalProperties":false}},"wednesday":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start","end"],"additionalProperties":false}},"thursday":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start","end"],"additionalProperties":false}},"friday":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start","end"],"additionalProperties":false}},"saturday":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start","end"],"additionalProperties":false}},"sunday":{"type":"array","items":{"type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}},"required":["start","end"],"additionalProperties":false}}},"required":["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],"additionalProperties":false}},"required":["source","timeZone","hours"],"additionalProperties":false}},"required":["status","series","kpis","byChannel","byWeekday","byHour","afterHours"],"additionalProperties":false}]}},"required":["metrics"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}agent live-now
- Operation ID:
agent.metrics.live_now - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:read - Minimum User role:
member - Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/agents/metrics/live-now - MCP:
get_agent_metrics(actionlive_now) — Read Agent live-now count. Count Conversations with a counted Message less than five minutes old. Clock defaults to now; liveNow is null while history is filling. Get agentId from get_context or get_agent. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"clock":{"type":"number"}},"required":["agentId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"liveNow":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["liveNow"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}agent create
- Operation ID:
agent.create - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/agents/create - MCP:
manage_agent(actioncreate) — Create an Andy Agent. Create an Agent in the selected Workspace under current Entitlements and Limits. Purpose defaults to sales. A Workspace Owner or Admin User may create a support Agent when the Workspace has Soporte (Pro Max or a grant); only a Platform Admin User may create assistant. A Workspace API Key creates only sales. Purpose is read-only in ordinary Agent configuration. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,workspace_archived,entitlement_required,limit_exceeded,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"purpose":{"default":"sales","type":"string","enum":["sales","support","assistant"]},"name":{"type":"string","minLength":1,"maxLength":120},"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"defaultLanguage":{"description":"The Agent's language. Omit it to use the creating User's language; a Workspace API Key uses the Workspace Owner's. Spanish when neither is known.","type":"string","enum":["en","es"]},"instructions":{"type":"string","minLength":1,"maxLength":20000},"temperature":{"type":"number","minimum":0,"maximum":2},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["name"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agent":{"type":"object","properties":{"purpose":{"type":"string","enum":["sales","support","assistant"]},"id":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"status":{"type":"string","const":"active"},"defaultLanguage":{"type":"string","enum":["en","es"]},"configuration":{"type":"object","properties":{"instructions":{"anyOf":[{"type":"string"},{"type":"null"}]},"temperature":{"type":"number"},"tone":{"type":"string","enum":["formal","balanced","casual"]},"creativity":{"type":"string","enum":["predictable","balanced","creative"]},"handoffReply":{"default":{},"description":"The Handoff reply the Owner wrote per language. A missing language sends its default.","type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false}},"required":["instructions","temperature","tone","creativity","handoffReply"],"additionalProperties":false}},"required":["purpose","id","workspaceId","name","slug","status","defaultLanguage","configuration"],"additionalProperties":false},"currentSupportAgentGranted":{"type":"boolean"}},"required":["agent"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}agent set-purpose
- Operation ID:
agent.purpose.set - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/agents/purpose/set - MCP:
manage_agent(actionset_purpose) — Set an Agent's provisioned purpose. A Workspace Owner or Admin User may switch an Agent between sales and support; support needs Soporte (Pro Max or a grant). Only a Platform Admin User may give or remove assistant. Workspace API Keys never hold this authority. Purpose remains read-only in ordinary Agent configuration. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,workspace_selection_required,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"purpose":{"type":"string","enum":["sales","support","assistant"]},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["agentId","purpose"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agent":{"type":"object","properties":{"purpose":{"type":"string","enum":["sales","support","assistant"]},"id":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"status":{"type":"string","const":"active"},"defaultLanguage":{"type":"string","enum":["en","es"]},"configuration":{"type":"object","properties":{"instructions":{"anyOf":[{"type":"string"},{"type":"null"}]},"temperature":{"type":"number"},"tone":{"type":"string","enum":["formal","balanced","casual"]},"creativity":{"type":"string","enum":["predictable","balanced","creative"]},"handoffReply":{"default":{},"description":"The Handoff reply the Owner wrote per language. A missing language sends its default.","type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false}},"required":["instructions","temperature","tone","creativity","handoffReply"],"additionalProperties":false}},"required":["purpose","id","workspaceId","name","slug","status","defaultLanguage","configuration"],"additionalProperties":false},"currentSupportAgentGranted":{"type":"boolean"}},"required":["agent"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}agent configure
- Operation ID:
agent.configure - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/agents/configure - MCP:
configure_agent— Configure an Andy Agent. Configure the supported public fields of one Agent by exact ID. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":120},"defaultLanguage":{"description":"The language the Widget and the Handoff reply use when a Visitor's own is unknown. A host page's <html lang> or a lang prop overrides it per Visitor. Copy already written in each language stays in that language.","type":"string","enum":["en","es"]},"instructions":{"anyOf":[{"type":"string","minLength":1,"maxLength":20000},{"type":"null"}]},"temperature":{"type":"number","minimum":0,"maximum":2},"tone":{"description":"How the Agent sounds: formal, balanced (default) or casual.","type":"string","enum":["formal","balanced","casual"]},"creativity":{"description":"How much answers vary: predictable, balanced (default) or creative.","type":"string","enum":["predictable","balanced","creative"]},"handoffReply":{"type":"object","properties":{"es":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"en":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]}},"additionalProperties":false,"description":"The reply a Visitor gets when the Agent hands the Conversation to a person, per language. Empty or null sends the default in that language."},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agent":{"type":"object","properties":{"purpose":{"type":"string","enum":["sales","support","assistant"]},"id":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"status":{"type":"string","const":"active"},"defaultLanguage":{"type":"string","enum":["en","es"]},"configuration":{"type":"object","properties":{"instructions":{"anyOf":[{"type":"string"},{"type":"null"}]},"temperature":{"type":"number"},"tone":{"type":"string","enum":["formal","balanced","casual"]},"creativity":{"type":"string","enum":["predictable","balanced","creative"]},"handoffReply":{"default":{},"description":"The Handoff reply the Owner wrote per language. A missing language sends its default.","type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false}},"required":["instructions","temperature","tone","creativity","handoffReply"],"additionalProperties":false}},"required":["purpose","id","workspaceId","name","slug","status","defaultLanguage","configuration"],"additionalProperties":false},"currentSupportAgentGranted":{"type":"boolean"}},"required":["agent"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}agent delete
- Operation ID:
agent.delete - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/agents/delete - MCP:
manage_agent(actiondelete) — Soft-delete an Andy Agent. Soft-delete one Agent after exact-ID confirmation. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,resource_not_found,workspace_archived,confirmation_required,idempotency_conflict,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"confirm":{"type":"boolean"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"deleted":{"type":"boolean","const":true}},"required":["agentId","deleted"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}agent rename-slug
- Operation ID:
agent.rename_slug - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/agents/rename-slug - MCP:
manage_agent(actionrename_slug) — Rename an Andy Agent's URL slug. Change one Agent's URL slug, the in //. The old URL stops working at once; nothing redirects it. The slug must be lowercase letters, numbers and hyphens, not a reserved Workspace page, and not used by another live Agent in the Workspace. Owner/Admin only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["agentId","slug"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agent":{"type":"object","properties":{"purpose":{"type":"string","enum":["sales","support","assistant"]},"id":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"status":{"type":"string","const":"active"},"defaultLanguage":{"type":"string","enum":["en","es"]},"configuration":{"type":"object","properties":{"instructions":{"anyOf":[{"type":"string"},{"type":"null"}]},"temperature":{"type":"number"},"tone":{"type":"string","enum":["formal","balanced","casual"]},"creativity":{"type":"string","enum":["predictable","balanced","creative"]},"handoffReply":{"default":{},"description":"The Handoff reply the Owner wrote per language. A missing language sends its default.","type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false}},"required":["instructions","temperature","tone","creativity","handoffReply"],"additionalProperties":false}},"required":["purpose","id","workspaceId","name","slug","status","defaultLanguage","configuration"],"additionalProperties":false},"currentSupportAgentGranted":{"type":"boolean"}},"required":["agent"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}agent-website dismiss
- Operation ID:
agent_website.dismiss - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/agent-websites/dismiss - MCP: not exposed on MCP — Dismiss an Agent Website origin. Record one exact origin as dismissed ("Not this site") on one Agent. It appends to the Agent's dismissed Agent Website origins and never writes Agent Website.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"origin":{"type":"string"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["origin"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"dismissedAgentWebsiteOrigins":{"maxItems":50,"type":"array","items":{"type":"string"}}},"required":["agentId","dismissedAgentWebsiteOrigins"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}api-key list
- Operation ID:
api_key.list - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/api-keys/list - MCP: not exposed on MCP — List Andy Workspace API Keys. List safe metadata for Workspace API Keys as a current Workspace Admin.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cursor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"apiKeys":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"keyPrefix":{"type":"string","minLength":1},"preset":{"anyOf":[{"type":"string","enum":["read_only","operator"]},{"type":"null"}]},"scopes":{"type":"array","items":{"type":"string","enum":["workspace:read","agent:read","agent:write","knowledge_source:read","knowledge_source:write","public_chat:read","public_chat:write","widget:read","widget:write","support:read","content:read","support:write","content:write","content:approve","content:schedule","content:publish","content:connections"]}},"lastUsedAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"createdAt":{"type":"number"},"revokedAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"rotatedFromId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["id","workspaceId","name","keyPrefix","preset","scopes","lastUsedAt","createdAt","revokedAt","rotatedFromId"],"additionalProperties":false}}},"required":["apiKeys"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}knowledge-source list
- Operation ID:
knowledge_source.list - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/knowledge-sources/list - MCP:
list_knowledge— List Andy Knowledge Sources. List current Knowledge Sources for one Agent. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"cursor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"knowledgeSources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"key":{"type":"string","minLength":1},"title":{"type":"string","minLength":1},"provenance":{"type":"object","properties":{"kind":{"type":"string","enum":["repository","url","manual"]},"uri":{"type":"string","minLength":1,"maxLength":2000}},"required":["kind","uri"],"additionalProperties":false},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"required":{"type":"boolean"},"importedAt":{"type":"number"},"state":{"type":"string","enum":["pending","processing","active","failed","replacing"]},"activeRevision":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"state":{"type":"string","enum":["pending","processing","active","failed"]},"importedAt":{"type":"number"},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","revision","digest","state","importedAt","errorCode"],"additionalProperties":false},{"type":"null"}]},"pendingRevision":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"state":{"type":"string","enum":["pending","processing","active","failed"]},"importedAt":{"type":"number"},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","revision","digest","state","importedAt","errorCode"],"additionalProperties":false},{"type":"null"}]}},"required":["id","workspaceId","agentId","key","title","provenance","revision","digest","required","importedAt","state","activeRevision","pendingRevision"],"additionalProperties":false}}},"required":["knowledgeSources"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}knowledge-source inspect
- Operation ID:
knowledge_source.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/knowledge-sources/inspect - MCP:
list_knowledge— Inspect an Andy Knowledge Source. Inspect one Knowledge Source and its safe active and pending revision state. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"sourceId":{"type":"string","minLength":1}},"required":["sourceId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"knowledgeSource":{"type":"object","properties":{"id":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"key":{"type":"string","minLength":1},"title":{"type":"string","minLength":1},"provenance":{"type":"object","properties":{"kind":{"type":"string","enum":["repository","url","manual"]},"uri":{"type":"string","minLength":1,"maxLength":2000}},"required":["kind","uri"],"additionalProperties":false},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"required":{"type":"boolean"},"importedAt":{"type":"number"},"state":{"type":"string","enum":["pending","processing","active","failed","replacing"]},"activeRevision":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"state":{"type":"string","enum":["pending","processing","active","failed"]},"importedAt":{"type":"number"},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","revision","digest","state","importedAt","errorCode"],"additionalProperties":false},{"type":"null"}]},"pendingRevision":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"state":{"type":"string","enum":["pending","processing","active","failed"]},"importedAt":{"type":"number"},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","revision","digest","state","importedAt","errorCode"],"additionalProperties":false},{"type":"null"}]}},"required":["id","workspaceId","agentId","key","title","provenance","revision","digest","required","importedAt","state","activeRevision","pendingRevision"],"additionalProperties":false}},"required":["knowledgeSource"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}knowledge-source add
- Operation ID:
knowledge_source.add - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/knowledge-sources/add - MCP:
add_knowledge— Add an Andy Knowledge Source. Add one reviewed, content-addressed Knowledge Source to an Agent. digest is optional: omitted, Andy computes it from the exact content; a supplied digest must match. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,limit_exceeded,idempotency_conflict,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":160},"title":{"type":"string","minLength":1,"maxLength":240},"provenance":{"type":"object","properties":{"kind":{"type":"string","enum":["repository","url","manual"]},"uri":{"type":"string","minLength":1,"maxLength":2000}},"required":["kind","uri"]},"revision":{"type":"string","minLength":1,"maxLength":200},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"required":{"default":true,"type":"boolean"},"content":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["key","title","provenance","revision","content"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"knowledgeSource":{"type":"object","properties":{"id":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"key":{"type":"string","minLength":1},"title":{"type":"string","minLength":1},"provenance":{"type":"object","properties":{"kind":{"type":"string","enum":["repository","url","manual"]},"uri":{"type":"string","minLength":1,"maxLength":2000}},"required":["kind","uri"],"additionalProperties":false},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"required":{"type":"boolean"},"importedAt":{"type":"number"},"state":{"type":"string","enum":["pending","processing","active","failed","replacing"]},"activeRevision":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"state":{"type":"string","enum":["pending","processing","active","failed"]},"importedAt":{"type":"number"},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","revision","digest","state","importedAt","errorCode"],"additionalProperties":false},{"type":"null"}]},"pendingRevision":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"state":{"type":"string","enum":["pending","processing","active","failed"]},"importedAt":{"type":"number"},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","revision","digest","state","importedAt","errorCode"],"additionalProperties":false},{"type":"null"}]}},"required":["id","workspaceId","agentId","key","title","provenance","revision","digest","required","importedAt","state","activeRevision","pendingRevision"],"additionalProperties":false}},"required":["knowledgeSource"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}knowledge-source wait
- Operation ID:
knowledge_source.wait - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/knowledge-sources/wait - MCP: not exposed on MCP — Observe Andy Knowledge Source processing. Return current processing state and bounded retry guidance without holding the server request open.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,processing_failed,processing_timeout
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"sourceId":{"type":"string","minLength":1}},"required":["agentId","sourceId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"knowledgeSource":{"type":"object","properties":{"id":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"key":{"type":"string","minLength":1},"title":{"type":"string","minLength":1},"provenance":{"type":"object","properties":{"kind":{"type":"string","enum":["repository","url","manual"]},"uri":{"type":"string","minLength":1,"maxLength":2000}},"required":["kind","uri"],"additionalProperties":false},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"required":{"type":"boolean"},"importedAt":{"type":"number"},"state":{"type":"string","enum":["pending","processing","active","failed","replacing"]},"activeRevision":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"state":{"type":"string","enum":["pending","processing","active","failed"]},"importedAt":{"type":"number"},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","revision","digest","state","importedAt","errorCode"],"additionalProperties":false},{"type":"null"}]},"pendingRevision":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"state":{"type":"string","enum":["pending","processing","active","failed"]},"importedAt":{"type":"number"},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","revision","digest","state","importedAt","errorCode"],"additionalProperties":false},{"type":"null"}]}},"required":["id","workspaceId","agentId","key","title","provenance","revision","digest","required","importedAt","state","activeRevision","pendingRevision"],"additionalProperties":false},"terminal":{"type":"boolean"},"retryAfterMs":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["knowledgeSource","terminal","retryAfterMs"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}knowledge-source reconcile
- Operation ID:
knowledge_source.reconcile - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/knowledge-sources/reconcile - MCP: not exposed on MCP — Reconcile Andy Knowledge Sources. Plan or apply one versioned desired-state Knowledge Source manifest; omission is non-destructive.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,limit_exceeded,confirmation_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"manifest":{"type":"object","properties":{"version":{"type":"string","const":"1"},"sources":{"maxItems":100,"type":"array","items":{"anyOf":[{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":160},"title":{"type":"string","minLength":1,"maxLength":240},"provenance":{"type":"object","properties":{"kind":{"type":"string","enum":["repository","url","manual"]},"uri":{"type":"string","minLength":1,"maxLength":2000}},"required":["kind","uri"]},"revision":{"type":"string","minLength":1,"maxLength":200},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"required":{"default":true,"type":"boolean"},"content":{"type":"string","minLength":1},"tombstone":{"type":"boolean","const":false}},"required":["key","title","provenance","revision","digest","content"]},{"type":"object","properties":{"key":{"type":"string","minLength":1,"maxLength":160},"tombstone":{"type":"boolean","const":true},"confirm":{"type":"string","minLength":1}},"required":["key","tombstone"],"additionalProperties":false}]}}},"required":["version","sources"],"additionalProperties":false},"dryRun":{"default":true,"type":"boolean"},"prune":{"default":false,"type":"boolean"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["agentId","manifest"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"runId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"status":{"type":"string","enum":["planned","applying","completed","failed"]},"dryRun":{"type":"boolean"},"checkpoint":{"type":"integer","minimum":0,"maximum":9007199254740991},"errorCode":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"plan":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"sourceId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"action":{"type":"string","enum":["add","noop","replace","delete"]}},"required":["key","sourceId","action"],"additionalProperties":false}},"knowledgeSources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"key":{"type":"string","minLength":1},"title":{"type":"string","minLength":1},"provenance":{"type":"object","properties":{"kind":{"type":"string","enum":["repository","url","manual"]},"uri":{"type":"string","minLength":1,"maxLength":2000}},"required":["kind","uri"],"additionalProperties":false},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"required":{"type":"boolean"},"importedAt":{"type":"number"},"state":{"type":"string","enum":["pending","processing","active","failed","replacing"]},"activeRevision":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"state":{"type":"string","enum":["pending","processing","active","failed"]},"importedAt":{"type":"number"},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","revision","digest","state","importedAt","errorCode"],"additionalProperties":false},{"type":"null"}]},"pendingRevision":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"state":{"type":"string","enum":["pending","processing","active","failed"]},"importedAt":{"type":"number"},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","revision","digest","state","importedAt","errorCode"],"additionalProperties":false},{"type":"null"}]}},"required":["id","workspaceId","agentId","key","title","provenance","revision","digest","required","importedAt","state","activeRevision","pendingRevision"],"additionalProperties":false}}},"required":["runId","status","dryRun","checkpoint","errorCode","plan","knowledgeSources"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}knowledge-source replace
- Operation ID:
knowledge_source.replace - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/knowledge-sources/replace - MCP:
replace_knowledge— Replace an Andy Knowledge Source. Privately process a replacement revision while retaining last-good Knowledge. digest is optional: omitted, Andy computes it from the exact content; a supplied digest must match. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,limit_exceeded,idempotency_conflict,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":240},"provenance":{"type":"object","properties":{"kind":{"type":"string","enum":["repository","url","manual"]},"uri":{"type":"string","minLength":1,"maxLength":2000}},"required":["kind","uri"]},"revision":{"type":"string","minLength":1,"maxLength":200},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"required":{"default":true,"type":"boolean"},"content":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"sourceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["title","provenance","revision","content","sourceId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"knowledgeSource":{"type":"object","properties":{"id":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"key":{"type":"string","minLength":1},"title":{"type":"string","minLength":1},"provenance":{"type":"object","properties":{"kind":{"type":"string","enum":["repository","url","manual"]},"uri":{"type":"string","minLength":1,"maxLength":2000}},"required":["kind","uri"],"additionalProperties":false},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"required":{"type":"boolean"},"importedAt":{"type":"number"},"state":{"type":"string","enum":["pending","processing","active","failed","replacing"]},"activeRevision":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"state":{"type":"string","enum":["pending","processing","active","failed"]},"importedAt":{"type":"number"},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","revision","digest","state","importedAt","errorCode"],"additionalProperties":false},{"type":"null"}]},"pendingRevision":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"state":{"type":"string","enum":["pending","processing","active","failed"]},"importedAt":{"type":"number"},"errorCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","revision","digest","state","importedAt","errorCode"],"additionalProperties":false},{"type":"null"}]}},"required":["id","workspaceId","agentId","key","title","provenance","revision","digest","required","importedAt","state","activeRevision","pendingRevision"],"additionalProperties":false}},"required":["knowledgeSource"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}knowledge-source delete
- Operation ID:
knowledge_source.delete - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/knowledge-sources/delete - MCP:
delete_knowledge— Delete an Andy Knowledge Source. Delete one Knowledge Source only with explicit tombstone and prune intent plus exact-ID confirmation. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,confirmation_required,idempotency_conflict,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"sourceId":{"type":"string","minLength":1},"tombstone":{"type":"boolean"},"prune":{"type":"boolean"},"confirm":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["sourceId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"sourceId":{"type":"string","minLength":1},"deleted":{"type":"boolean","const":true}},"required":["sourceId","deleted"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}public-chat inspect
- Operation ID:
public_chat.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/public-chats/inspect - MCP: not exposed on MCP — Inspect Andy Public Chat. Inspect Public Chat state and its stable URL for one Agent.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1}},"required":["agentId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"publicChat":{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"enabled":{"type":"boolean"},"url":{"type":"string","format":"uri"},"website":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["agentId","enabled","url","website"],"additionalProperties":false}},"required":["publicChat"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}public-chat enable
- Operation ID:
public_chat.enable - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/public-chats/enable - MCP: not exposed on MCP — Enable Andy Public Chat. Enable Public Chat for one exactly selected Agent.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,processing_failed,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"website":{"anyOf":[{"type":"string"},{"type":"null"}]},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["agentId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"publicChat":{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"enabled":{"type":"boolean"},"url":{"type":"string","format":"uri"},"website":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["agentId","enabled","url","website"],"additionalProperties":false}},"required":["publicChat"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}public-chat disable
- Operation ID:
public_chat.disable - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/public-chats/disable - MCP: not exposed on MCP — Disable Andy Public Chat. Disable Public Chat after exact Agent-ID confirmation.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,confirmation_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"confirm":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["agentId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"publicChat":{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"enabled":{"type":"boolean"},"url":{"type":"string","format":"uri"},"website":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["agentId","enabled","url","website"],"additionalProperties":false}},"required":["publicChat"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}public-chat url
- Operation ID:
public_chat.url - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/public-chats/url - MCP: not exposed on MCP — Resolve Andy Public Chat URL. Return the stable Public Chat URL for one Agent.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1}},"required":["agentId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"url":{"type":"string","format":"uri"}},"required":["agentId","url"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}widget inspect
- Operation ID:
widget.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/widgets/inspect - MCP:
manage_widget(actioninspect) — Inspect Andy Widget configuration. Inspect the effective canonical Widget configuration for one Agent. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1}},"required":["agentId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"configuration":{"type":"object","properties":{"allowedOrigins":{"maxItems":50,"type":"array","items":{"type":"string"}},"legacyAllowedDomains":{"type":"array","items":{"type":"string","minLength":1}},"legacyAllowsAnyOrigin":{"type":"boolean"},"showBranding":{"type":"boolean"},"defaultLanguage":{"type":"string","enum":["en","es"]},"website":{"anyOf":[{"type":"string"},{"type":"null"}]},"appearance":{"type":"object","properties":{"welcomeMessage":{"type":"string"},"brandColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"theme":{"type":"string","enum":["light","dark","auto"]},"orientation":{"type":"string","enum":["left","right"]},"logoUrl":{"type":"string"},"bubbleStyle":{"type":"string","enum":["icon","pill"]},"bubbleLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"useBrandColor":{"type":"boolean"}},"required":["welcomeMessage","brandColor","theme","orientation","logoUrl","bubbleStyle","bubbleLabel","useBrandColor"],"additionalProperties":false},"behavior":{"type":"object","properties":{"welcomePopup":{"type":"object","properties":{"enabled":{"type":"boolean"},"seconds":{"type":"number","minimum":0,"maximum":30},"message":{"type":"string"}},"required":["enabled","seconds","message"],"additionalProperties":false},"leadCapture":{"type":"object","properties":{"enabled":{"type":"boolean"},"contactEmail":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"string","const":""}]},"calendarLink":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"phoneNumber":{"type":"string"},"customMessage":{"type":"string"},"emailNotificationEnabled":{"type":"boolean"}},"required":["enabled","contactEmail","calendarLink","phoneNumber","customMessage","emailNotificationEnabled"],"additionalProperties":false},"predefinedQuestions":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"question":{"type":"string","minLength":1},"order":{"type":"number"}},"required":["question"],"additionalProperties":false}}},"required":["welcomePopup","leadCapture","predefinedQuestions"],"additionalProperties":false},"widget":{"type":"object","properties":{"schemaVersion":{"type":"number","const":2},"identity":{"type":"object","properties":{"name":{"type":"string"},"avatarUrl":{"type":"string"}},"required":["name"],"additionalProperties":false},"conversation":{"type":"object","properties":{"greeting":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false},"starters":{"type":"object","properties":{"es":{"type":"array","items":{"type":"string"}},"en":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"footerNote":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false},"proactive":{"type":"object","properties":{"messages":{"type":"object","properties":{"es":{"type":"array","items":{"type":"string"}},"en":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"delaySeconds":{"type":"number"},"mobile":{"type":"boolean"}},"required":["messages","delaySeconds","mobile"],"additionalProperties":false}},"required":["greeting","starters"],"additionalProperties":false},"look":{"type":"object","properties":{"accent":{"type":"string"},"theme":{"type":"string","enum":["light","dark","auto"]},"header":{"type":"string","enum":["neutral","brand"]},"launcher":{"type":"object","properties":{"style":{"type":"string","enum":["icon","pill"]},"icon":{"type":"string","enum":["andy","logo"]},"label":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false},"position":{"type":"string","enum":["left","right"]},"offsetY":{"type":"number"}},"required":["style","icon","position","offsetY"],"additionalProperties":false},"branding":{"type":"boolean"}},"required":["accent","theme","header","launcher","branding"],"additionalProperties":false},"defaultLang":{"type":"string","enum":["es","en"]}},"required":["schemaVersion","identity","conversation","look","defaultLang"],"additionalProperties":false,"description":"What the 3.x Widget shows, with the look's defaults resolved. Copy the Owner never wrote in a language is absent: the Widget shows the Agent's own copy, else its localized default. Copy the Owner cleared in a language is the default (Greeting, launcher label) or empty (\"\" or []), which shows nothing. Read-only: change it with a `configuration.widget` patch, which takes per-language copy and one Proactive Message string per language, and stores every value it is sent."}},"required":["allowedOrigins","legacyAllowedDomains","legacyAllowsAnyOrigin","showBranding","defaultLanguage","website","appearance","behavior","widget"],"additionalProperties":false}},"required":["agentId","configuration"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}widget configure
- Operation ID:
widget.configure - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/widgets/configure - MCP:
manage_widget(actionconfigure) — Configure Andy Widget. Configure exact allowed origins and the Agent-owned Widget fields.widgetchanges the v2 Widget config (per-language copy, look and Launcher) and writes only the fields given. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,processing_failed,confirmation_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"configuration":{"type":"object","properties":{"allowedOrigins":{"maxItems":50,"type":"array","items":{"type":"string"}},"confirmRemovedOrigins":{"type":"array","items":{"type":"string","minLength":1}},"showBranding":{"type":"boolean"},"defaultLanguage":{"description":"The Agent's default language, as in agent.configure. Copy already written in each language stays in that language.","type":"string","enum":["en","es"]},"website":{"anyOf":[{"type":"string"},{"type":"null"}]},"appearance":{"type":"object","properties":{"welcomeMessage":{"type":"string","maxLength":500},"brandColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"theme":{"type":"string","enum":["light","dark","auto"]},"orientation":{"type":"string","enum":["left","right"]},"logoUrl":{"type":"string"},"bubbleStyle":{"type":"string","enum":["icon","pill"]},"bubbleLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"useBrandColor":{"type":"boolean"}}},"behavior":{"type":"object","properties":{"welcomePopup":{"type":"object","properties":{"enabled":{"type":"boolean"},"seconds":{"type":"number","minimum":0,"maximum":30},"message":{"type":"string"}}},"leadCapture":{"type":"object","properties":{"enabled":{"type":"boolean"},"contactEmail":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"string","const":""}]},"calendarLink":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"phoneNumber":{"type":"string"},"customMessage":{"type":"string"},"emailNotificationEnabled":{"type":"boolean"}}},"predefinedQuestions":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"question":{"type":"string","minLength":1,"maxLength":80},"order":{"type":"number"}},"required":["question"]}}},"additionalProperties":false},"widget":{"type":"object","properties":{"identity":{"type":"object","properties":{"name":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"description":"Display name, the panel's title. Empty shows the Agent's name."}},"additionalProperties":false},"conversation":{"type":"object","properties":{"greeting":{"type":"object","properties":{"es":{"type":"string","maxLength":500},"en":{"type":"string","maxLength":500}},"additionalProperties":false},"starters":{"type":"object","properties":{"es":{"maxItems":4,"type":"array","items":{"type":"string","maxLength":80}},"en":{"maxItems":4,"type":"array","items":{"type":"string","maxLength":80}}},"additionalProperties":false},"footerNote":{"type":"object","properties":{"es":{"type":"string","maxLength":120},"en":{"type":"string","maxLength":120}},"additionalProperties":false},"proactive":{"type":"object","properties":{"enabled":{"type":"boolean"},"message":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false},"delaySeconds":{"anyOf":[{"type":"number","minimum":0,"maximum":30},{"type":"null"}]},"mobile":{"type":"boolean"}},"additionalProperties":false}},"additionalProperties":false},"look":{"type":"object","properties":{"accent":{"anyOf":[{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},{"type":"null"}]},"theme":{"anyOf":[{"type":"string","enum":["light","dark","auto"]},{"type":"null"}]},"header":{"anyOf":[{"type":"string","enum":["neutral","brand"]},{"type":"null"}]},"launcher":{"type":"object","properties":{"style":{"anyOf":[{"type":"string","enum":["icon","pill"]},{"type":"null"}]},"icon":{"anyOf":[{"type":"string","enum":["andy","logo"]},{"type":"null"}]},"label":{"type":"object","properties":{"es":{"type":"string","maxLength":30},"en":{"type":"string","maxLength":30}},"additionalProperties":false},"position":{"anyOf":[{"type":"string","enum":["left","right"]},{"type":"null"}]},"offsetY":{"anyOf":[{"type":"integer","minimum":0,"maximum":160},{"type":"null"}]}},"additionalProperties":false},"branding":{"type":"boolean","description":"\"Powered by Andy\"; hiding it needs a plan with custom branding."}},"additionalProperties":false}},"additionalProperties":false},"logoMediaAssetId":{"description":"A PNG or JPEG Media Asset id from manage_media, up to 2097152 bytes, becomes the Agent's logo; null removes it. A Support Agent's Widget never shows a logo.","anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"additionalProperties":false},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["agentId","configuration"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"configuration":{"type":"object","properties":{"allowedOrigins":{"maxItems":50,"type":"array","items":{"type":"string"}},"legacyAllowedDomains":{"type":"array","items":{"type":"string","minLength":1}},"legacyAllowsAnyOrigin":{"type":"boolean"},"showBranding":{"type":"boolean"},"defaultLanguage":{"type":"string","enum":["en","es"]},"website":{"anyOf":[{"type":"string"},{"type":"null"}]},"appearance":{"type":"object","properties":{"welcomeMessage":{"type":"string"},"brandColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"theme":{"type":"string","enum":["light","dark","auto"]},"orientation":{"type":"string","enum":["left","right"]},"logoUrl":{"type":"string"},"bubbleStyle":{"type":"string","enum":["icon","pill"]},"bubbleLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"useBrandColor":{"type":"boolean"}},"required":["welcomeMessage","brandColor","theme","orientation","logoUrl","bubbleStyle","bubbleLabel","useBrandColor"],"additionalProperties":false},"behavior":{"type":"object","properties":{"welcomePopup":{"type":"object","properties":{"enabled":{"type":"boolean"},"seconds":{"type":"number","minimum":0,"maximum":30},"message":{"type":"string"}},"required":["enabled","seconds","message"],"additionalProperties":false},"leadCapture":{"type":"object","properties":{"enabled":{"type":"boolean"},"contactEmail":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"string","const":""}]},"calendarLink":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"phoneNumber":{"type":"string"},"customMessage":{"type":"string"},"emailNotificationEnabled":{"type":"boolean"}},"required":["enabled","contactEmail","calendarLink","phoneNumber","customMessage","emailNotificationEnabled"],"additionalProperties":false},"predefinedQuestions":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"question":{"type":"string","minLength":1},"order":{"type":"number"}},"required":["question"],"additionalProperties":false}}},"required":["welcomePopup","leadCapture","predefinedQuestions"],"additionalProperties":false},"widget":{"type":"object","properties":{"schemaVersion":{"type":"number","const":2},"identity":{"type":"object","properties":{"name":{"type":"string"},"avatarUrl":{"type":"string"}},"required":["name"],"additionalProperties":false},"conversation":{"type":"object","properties":{"greeting":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false},"starters":{"type":"object","properties":{"es":{"type":"array","items":{"type":"string"}},"en":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"footerNote":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false},"proactive":{"type":"object","properties":{"messages":{"type":"object","properties":{"es":{"type":"array","items":{"type":"string"}},"en":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"delaySeconds":{"type":"number"},"mobile":{"type":"boolean"}},"required":["messages","delaySeconds","mobile"],"additionalProperties":false}},"required":["greeting","starters"],"additionalProperties":false},"look":{"type":"object","properties":{"accent":{"type":"string"},"theme":{"type":"string","enum":["light","dark","auto"]},"header":{"type":"string","enum":["neutral","brand"]},"launcher":{"type":"object","properties":{"style":{"type":"string","enum":["icon","pill"]},"icon":{"type":"string","enum":["andy","logo"]},"label":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false},"position":{"type":"string","enum":["left","right"]},"offsetY":{"type":"number"}},"required":["style","icon","position","offsetY"],"additionalProperties":false},"branding":{"type":"boolean"}},"required":["accent","theme","header","launcher","branding"],"additionalProperties":false},"defaultLang":{"type":"string","enum":["es","en"]}},"required":["schemaVersion","identity","conversation","look","defaultLang"],"additionalProperties":false,"description":"What the 3.x Widget shows, with the look's defaults resolved. Copy the Owner never wrote in a language is absent: the Widget shows the Agent's own copy, else its localized default. Copy the Owner cleared in a language is the default (Greeting, launcher label) or empty (\"\" or []), which shows nothing. Read-only: change it with a `configuration.widget` patch, which takes per-language copy and one Proactive Message string per language, and stores every value it is sent."}},"required":["allowedOrigins","legacyAllowedDomains","legacyAllowsAnyOrigin","showBranding","defaultLanguage","website","appearance","behavior","widget"],"additionalProperties":false}},"required":["agentId","configuration"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}widget manifest
- Operation ID:
widget.manifest - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/widgets/manifest - MCP: not exposed on MCP — Resolve Andy Widget integration manifest. Return the Workspace, Agent, pinned package contract, effective configuration, and Public Chat state without secrets.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1}},"required":["agentId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"workspace":{"type":"object","properties":{"id":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1}},"required":["id","slug"],"additionalProperties":false},"agent":{"type":"object","properties":{"id":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1}},"required":["id","slug"],"additionalProperties":false},"package":{"type":"object","properties":{"packageName":{"type":"string","const":"andy-widget-react"},"version":{"type":"string","const":"2.3.2"},"component":{"type":"string","const":"AndyChat"},"agentIdProp":{"type":"string","const":"embedId"}},"required":["packageName","version","component","agentIdProp"],"additionalProperties":false},"configuration":{"type":"object","properties":{"allowedOrigins":{"maxItems":50,"type":"array","items":{"type":"string"}},"legacyAllowedDomains":{"type":"array","items":{"type":"string","minLength":1}},"legacyAllowsAnyOrigin":{"type":"boolean"},"showBranding":{"type":"boolean"},"defaultLanguage":{"type":"string","enum":["en","es"]},"website":{"anyOf":[{"type":"string"},{"type":"null"}]},"appearance":{"type":"object","properties":{"welcomeMessage":{"type":"string"},"brandColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"theme":{"type":"string","enum":["light","dark","auto"]},"orientation":{"type":"string","enum":["left","right"]},"logoUrl":{"type":"string"},"bubbleStyle":{"type":"string","enum":["icon","pill"]},"bubbleLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"useBrandColor":{"type":"boolean"}},"required":["welcomeMessage","brandColor","theme","orientation","logoUrl","bubbleStyle","bubbleLabel","useBrandColor"],"additionalProperties":false},"behavior":{"type":"object","properties":{"welcomePopup":{"type":"object","properties":{"enabled":{"type":"boolean"},"seconds":{"type":"number","minimum":0,"maximum":30},"message":{"type":"string"}},"required":["enabled","seconds","message"],"additionalProperties":false},"leadCapture":{"type":"object","properties":{"enabled":{"type":"boolean"},"contactEmail":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"string","const":""}]},"calendarLink":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"phoneNumber":{"type":"string"},"customMessage":{"type":"string"},"emailNotificationEnabled":{"type":"boolean"}},"required":["enabled","contactEmail","calendarLink","phoneNumber","customMessage","emailNotificationEnabled"],"additionalProperties":false},"predefinedQuestions":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"question":{"type":"string","minLength":1},"order":{"type":"number"}},"required":["question"],"additionalProperties":false}}},"required":["welcomePopup","leadCapture","predefinedQuestions"],"additionalProperties":false},"widget":{"type":"object","properties":{"schemaVersion":{"type":"number","const":2},"identity":{"type":"object","properties":{"name":{"type":"string"},"avatarUrl":{"type":"string"}},"required":["name"],"additionalProperties":false},"conversation":{"type":"object","properties":{"greeting":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false},"starters":{"type":"object","properties":{"es":{"type":"array","items":{"type":"string"}},"en":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"footerNote":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false},"proactive":{"type":"object","properties":{"messages":{"type":"object","properties":{"es":{"type":"array","items":{"type":"string"}},"en":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"delaySeconds":{"type":"number"},"mobile":{"type":"boolean"}},"required":["messages","delaySeconds","mobile"],"additionalProperties":false}},"required":["greeting","starters"],"additionalProperties":false},"look":{"type":"object","properties":{"accent":{"type":"string"},"theme":{"type":"string","enum":["light","dark","auto"]},"header":{"type":"string","enum":["neutral","brand"]},"launcher":{"type":"object","properties":{"style":{"type":"string","enum":["icon","pill"]},"icon":{"type":"string","enum":["andy","logo"]},"label":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false},"position":{"type":"string","enum":["left","right"]},"offsetY":{"type":"number"}},"required":["style","icon","position","offsetY"],"additionalProperties":false},"branding":{"type":"boolean"}},"required":["accent","theme","header","launcher","branding"],"additionalProperties":false},"defaultLang":{"type":"string","enum":["es","en"]}},"required":["schemaVersion","identity","conversation","look","defaultLang"],"additionalProperties":false,"description":"What the 3.x Widget shows, with the look's defaults resolved. Copy the Owner never wrote in a language is absent: the Widget shows the Agent's own copy, else its localized default. Copy the Owner cleared in a language is the default (Greeting, launcher label) or empty (\"\" or []), which shows nothing. Read-only: change it with a `configuration.widget` patch, which takes per-language copy and one Proactive Message string per language, and stores every value it is sent."}},"required":["allowedOrigins","legacyAllowedDomains","legacyAllowsAnyOrigin","showBranding","defaultLanguage","website","appearance","behavior","widget"],"additionalProperties":false},"publicChat":{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"enabled":{"type":"boolean"},"url":{"type":"string","format":"uri"},"website":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["agentId","enabled","url","website"],"additionalProperties":false}},"required":["workspace","agent","package","configuration","publicChat"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}widget verify
- Operation ID:
widget.verify - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/widgets/verify - MCP: not exposed on MCP — Verify an Andy Widget integration. Verify Agent/configuration/origin/Knowledge/Public Chat and execute one real public answer, consuming one conversation and quota unit.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,processing_failed
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"origin":{"type":"string"},"question":{"default":"What can you help me with?","type":"string","minLength":1,"maxLength":2000}},"required":["agentId","origin"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"origin":{"type":"string"},"configuration":{"type":"object","properties":{"allowedOrigins":{"maxItems":50,"type":"array","items":{"type":"string"}},"legacyAllowedDomains":{"type":"array","items":{"type":"string","minLength":1}},"legacyAllowsAnyOrigin":{"type":"boolean"},"showBranding":{"type":"boolean"},"defaultLanguage":{"type":"string","enum":["en","es"]},"website":{"anyOf":[{"type":"string"},{"type":"null"}]},"appearance":{"type":"object","properties":{"welcomeMessage":{"type":"string"},"brandColor":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},"theme":{"type":"string","enum":["light","dark","auto"]},"orientation":{"type":"string","enum":["left","right"]},"logoUrl":{"type":"string"},"bubbleStyle":{"type":"string","enum":["icon","pill"]},"bubbleLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"useBrandColor":{"type":"boolean"}},"required":["welcomeMessage","brandColor","theme","orientation","logoUrl","bubbleStyle","bubbleLabel","useBrandColor"],"additionalProperties":false},"behavior":{"type":"object","properties":{"welcomePopup":{"type":"object","properties":{"enabled":{"type":"boolean"},"seconds":{"type":"number","minimum":0,"maximum":30},"message":{"type":"string"}},"required":["enabled","seconds","message"],"additionalProperties":false},"leadCapture":{"type":"object","properties":{"enabled":{"type":"boolean"},"contactEmail":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"string","const":""}]},"calendarLink":{"anyOf":[{"type":"string","format":"uri"},{"type":"string","const":""}]},"phoneNumber":{"type":"string"},"customMessage":{"type":"string"},"emailNotificationEnabled":{"type":"boolean"}},"required":["enabled","contactEmail","calendarLink","phoneNumber","customMessage","emailNotificationEnabled"],"additionalProperties":false},"predefinedQuestions":{"maxItems":4,"type":"array","items":{"type":"object","properties":{"question":{"type":"string","minLength":1},"order":{"type":"number"}},"required":["question"],"additionalProperties":false}}},"required":["welcomePopup","leadCapture","predefinedQuestions"],"additionalProperties":false},"widget":{"type":"object","properties":{"schemaVersion":{"type":"number","const":2},"identity":{"type":"object","properties":{"name":{"type":"string"},"avatarUrl":{"type":"string"}},"required":["name"],"additionalProperties":false},"conversation":{"type":"object","properties":{"greeting":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false},"starters":{"type":"object","properties":{"es":{"type":"array","items":{"type":"string"}},"en":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"footerNote":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false},"proactive":{"type":"object","properties":{"messages":{"type":"object","properties":{"es":{"type":"array","items":{"type":"string"}},"en":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"delaySeconds":{"type":"number"},"mobile":{"type":"boolean"}},"required":["messages","delaySeconds","mobile"],"additionalProperties":false}},"required":["greeting","starters"],"additionalProperties":false},"look":{"type":"object","properties":{"accent":{"type":"string"},"theme":{"type":"string","enum":["light","dark","auto"]},"header":{"type":"string","enum":["neutral","brand"]},"launcher":{"type":"object","properties":{"style":{"type":"string","enum":["icon","pill"]},"icon":{"type":"string","enum":["andy","logo"]},"label":{"type":"object","properties":{"es":{"type":"string"},"en":{"type":"string"}},"additionalProperties":false},"position":{"type":"string","enum":["left","right"]},"offsetY":{"type":"number"}},"required":["style","icon","position","offsetY"],"additionalProperties":false},"branding":{"type":"boolean"}},"required":["accent","theme","header","launcher","branding"],"additionalProperties":false},"defaultLang":{"type":"string","enum":["es","en"]}},"required":["schemaVersion","identity","conversation","look","defaultLang"],"additionalProperties":false,"description":"What the 3.x Widget shows, with the look's defaults resolved. Copy the Owner never wrote in a language is absent: the Widget shows the Agent's own copy, else its localized default. Copy the Owner cleared in a language is the default (Greeting, launcher label) or empty (\"\" or []), which shows nothing. Read-only: change it with a `configuration.widget` patch, which takes per-language copy and one Proactive Message string per language, and stores every value it is sent."}},"required":["allowedOrigins","legacyAllowedDomains","legacyAllowsAnyOrigin","showBranding","defaultLanguage","website","appearance","behavior","widget"],"additionalProperties":false},"checks":{"type":"object","properties":{"agent":{"type":"boolean","const":true},"configuration":{"type":"boolean","const":true},"origin":{"type":"boolean","const":true},"knowledge":{"type":"boolean","const":true},"publicChat":{"type":"boolean","const":true},"answer":{"type":"boolean","const":true}},"required":["agent","configuration","origin","knowledge","publicChat","answer"],"additionalProperties":false},"answer":{"type":"string","minLength":1}},"required":["agentId","origin","configuration","checks","answer"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content connection list
- Operation ID:
content.connection.list - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:connections - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/content/connections/list - MCP:
list_connections— List Andy Content connections. List the current Platform Connection for each publish target, without credentials. Superseded and abandoned connections are not returned. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,workspace_archived,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cursor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"connections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"provider":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["connected","disconnected","expired"]},"mode":{"type":"string","enum":["direct","draft_only","manual_export"]},"destination":{"type":"object","properties":{"externalAccountId":{"anyOf":[{"type":"string"},{"type":"null"}]},"handle":{"anyOf":[{"type":"string"},{"type":"null"}]},"targetType":{"anyOf":[{"type":"string","enum":["personal_profile","company_page"]},{"type":"null"}]},"organizationId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["externalAccountId","handle","targetType","organizationId"],"additionalProperties":false},"scopes":{"type":"array","items":{"type":"string"}},"expiresAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"capabilities":{"type":"object","properties":{"canPublish":{"type":"boolean"},"canRefresh":{"default":false,"type":"boolean"},"canReadMetrics":{"type":"boolean"},"maxTextLength":{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"formats":{"default":["text"],"type":"array","items":{"type":"string","enum":["text","article"]}}},"required":["canPublish","canRefresh","canReadMetrics","maxTextLength","formats"],"additionalProperties":false},"tiktokCreator":{"anyOf":[{"type":"object","properties":{"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"privacyLevelOptions":{"type":"array","items":{"type":"string"}},"maxVideoDurationSec":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"commentDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"duetDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"stitchDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"fetchedAt":{"type":"number"},"checkedAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"checkPending":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["displayName","avatarUrl","privacyLevelOptions","maxVideoDurationSec","commentDisabled","duetDisabled","stitchDisabled","fetchedAt","checkedAt","checkPending"],"additionalProperties":false},{"type":"null"}]},"tiktokWorkspaceConsent":{"anyOf":[{"type":"object","properties":{"acceptedAt":{"type":"number"},"current":{"type":"boolean"}},"required":["acceptedAt","current"],"additionalProperties":false},{"type":"null"}]},"postingSchedule":{"default":null,"anyOf":[{"type":"object","properties":{"timeZone":{"type":"string","minLength":1,"maxLength":64},"slots":{"maxItems":70,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":6},"time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"}},"required":["day","time"],"additionalProperties":false}}},"required":["timeZone","slots"],"additionalProperties":false},{"type":"null"}]},"xCommunities":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"name":{"type":"string","minLength":1,"maxLength":80},"addedAt":{"type":"number"}},"required":["id","name","addedAt"],"additionalProperties":false}},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","label","workspaceId","agentId","provider","status","mode","destination","scopes","expiresAt","capabilities","tiktokCreator","tiktokWorkspaceConsent","postingSchedule","xCommunities","createdAt","updatedAt"],"additionalProperties":false}},"agentId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"availableProviders":{"type":"array","items":{"type":"string","enum":["x","linkedin","instagram","tiktok"]}}},"required":["connections","agentId","availableProviders"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content connection show
- Operation ID:
content.connection.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:connections - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/content/connections/inspect - MCP:
manage_connection(actioninspect) — Inspect an Andy Content connection. Inspect one exact Platform Connection and its non-secret destination identity. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"connectionId":{"type":"string","minLength":1}},"required":["connectionId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"connection":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"provider":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["connected","disconnected","expired"]},"mode":{"type":"string","enum":["direct","draft_only","manual_export"]},"destination":{"type":"object","properties":{"externalAccountId":{"anyOf":[{"type":"string"},{"type":"null"}]},"handle":{"anyOf":[{"type":"string"},{"type":"null"}]},"targetType":{"anyOf":[{"type":"string","enum":["personal_profile","company_page"]},{"type":"null"}]},"organizationId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["externalAccountId","handle","targetType","organizationId"],"additionalProperties":false},"scopes":{"type":"array","items":{"type":"string"}},"expiresAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"capabilities":{"type":"object","properties":{"canPublish":{"type":"boolean"},"canRefresh":{"default":false,"type":"boolean"},"canReadMetrics":{"type":"boolean"},"maxTextLength":{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"formats":{"default":["text"],"type":"array","items":{"type":"string","enum":["text","article"]}}},"required":["canPublish","canRefresh","canReadMetrics","maxTextLength","formats"],"additionalProperties":false},"tiktokCreator":{"anyOf":[{"type":"object","properties":{"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"privacyLevelOptions":{"type":"array","items":{"type":"string"}},"maxVideoDurationSec":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"commentDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"duetDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"stitchDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"fetchedAt":{"type":"number"},"checkedAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"checkPending":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["displayName","avatarUrl","privacyLevelOptions","maxVideoDurationSec","commentDisabled","duetDisabled","stitchDisabled","fetchedAt","checkedAt","checkPending"],"additionalProperties":false},{"type":"null"}]},"tiktokWorkspaceConsent":{"anyOf":[{"type":"object","properties":{"acceptedAt":{"type":"number"},"current":{"type":"boolean"}},"required":["acceptedAt","current"],"additionalProperties":false},{"type":"null"}]},"postingSchedule":{"default":null,"anyOf":[{"type":"object","properties":{"timeZone":{"type":"string","minLength":1,"maxLength":64},"slots":{"maxItems":70,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":6},"time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"}},"required":["day","time"],"additionalProperties":false}}},"required":["timeZone","slots"],"additionalProperties":false},{"type":"null"}]},"xCommunities":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"name":{"type":"string","minLength":1,"maxLength":80},"addedAt":{"type":"number"}},"required":["id","name","addedAt"],"additionalProperties":false}},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","label","workspaceId","agentId","provider","status","mode","destination","scopes","expiresAt","capabilities","tiktokCreator","tiktokWorkspaceConsent","postingSchedule","xCommunities","createdAt","updatedAt"],"additionalProperties":false}},"required":["connection"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content connection preflight
- Operation ID:
content.connection.preflight - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:connections - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/connections/preflight - MCP:
manage_connection(actionpreflight) — Preflight an Andy Content connection. Check one exact Platform Connection, refresh credentials when needed, and return a reconnect handoff when setup is required. Set refreshCreator:true when opening TikTok publishing review, then inspect until creator checkPending clears and fetchedAt advances; a failed check must not authorize publication. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,setup_required,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"connectionId":{"type":"string","minLength":1},"refreshCreator":{"type":"boolean"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["connectionId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"connection":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"provider":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["connected","disconnected","expired"]},"mode":{"type":"string","enum":["direct","draft_only","manual_export"]},"destination":{"type":"object","properties":{"externalAccountId":{"anyOf":[{"type":"string"},{"type":"null"}]},"handle":{"anyOf":[{"type":"string"},{"type":"null"}]},"targetType":{"anyOf":[{"type":"string","enum":["personal_profile","company_page"]},{"type":"null"}]},"organizationId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["externalAccountId","handle","targetType","organizationId"],"additionalProperties":false},"scopes":{"type":"array","items":{"type":"string"}},"expiresAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"capabilities":{"type":"object","properties":{"canPublish":{"type":"boolean"},"canRefresh":{"default":false,"type":"boolean"},"canReadMetrics":{"type":"boolean"},"maxTextLength":{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"formats":{"default":["text"],"type":"array","items":{"type":"string","enum":["text","article"]}}},"required":["canPublish","canRefresh","canReadMetrics","maxTextLength","formats"],"additionalProperties":false},"tiktokCreator":{"anyOf":[{"type":"object","properties":{"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"privacyLevelOptions":{"type":"array","items":{"type":"string"}},"maxVideoDurationSec":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"commentDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"duetDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"stitchDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"fetchedAt":{"type":"number"},"checkedAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"checkPending":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["displayName","avatarUrl","privacyLevelOptions","maxVideoDurationSec","commentDisabled","duetDisabled","stitchDisabled","fetchedAt","checkedAt","checkPending"],"additionalProperties":false},{"type":"null"}]},"tiktokWorkspaceConsent":{"anyOf":[{"type":"object","properties":{"acceptedAt":{"type":"number"},"current":{"type":"boolean"}},"required":["acceptedAt","current"],"additionalProperties":false},{"type":"null"}]},"postingSchedule":{"default":null,"anyOf":[{"type":"object","properties":{"timeZone":{"type":"string","minLength":1,"maxLength":64},"slots":{"maxItems":70,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":6},"time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"}},"required":["day","time"],"additionalProperties":false}}},"required":["timeZone","slots"],"additionalProperties":false},{"type":"null"}]},"xCommunities":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"name":{"type":"string","minLength":1,"maxLength":80},"addedAt":{"type":"number"}},"required":["id","name","addedAt"],"additionalProperties":false}},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","label","workspaceId","agentId","provider","status","mode","destination","scopes","expiresAt","capabilities","tiktokCreator","tiktokWorkspaceConsent","postingSchedule","xCommunities","createdAt","updatedAt"],"additionalProperties":false},"ready":{"type":"boolean"},"state":{"type":"string","enum":["ready","refreshing","setup_required"]},"handoffUrl":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["connection","ready","state","handoffUrl","nextAction"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content connection connect
- Operation ID:
content.connection.connect - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope:
content:connections - Minimum User role:
admin - Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/content/connections/connect - MCP:
manage_connection(actionconnect) — Prepare an Andy Content provider handoff. Prepare an App handoff for native provider consent without impersonating a User. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,provider_unavailable,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"provider":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"agentId":{"type":"string","minLength":1},"connectionId":{"type":"string","minLength":1},"targetType":{"type":"string","enum":["personal_profile","company_page"]},"organizationId":{"type":"string","minLength":1},"displayName":{"type":"string","minLength":1}},"required":["provider","agentId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"provider":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"agentId":{"type":"string","minLength":1},"connectionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"targetType":{"anyOf":[{"type":"string","enum":["personal_profile","company_page"]},{"type":"null"}]},"organizationId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"displayName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"handoffUrl":{"type":"string","format":"uri"}},"required":["provider","agentId","connectionId","targetType","organizationId","displayName","handoffUrl"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content connection disconnect
- Operation ID:
content.connection.disconnect - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope:
content:connections - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/connections/disconnect - MCP:
manage_connection(actiondisconnect) — Disconnect an Andy Content connection. Disconnect one exact Platform Connection after exact-ID confirmation: dispose of credentials, remove it from the Workspace's connections, and cancel Posts still waiting on it. Published Posts keep their history; connecting the same account again makes a new connection. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,confirmation_required,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"connectionId":{"type":"string","minLength":1},"confirm":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["connectionId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"connection":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"provider":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["connected","disconnected","expired"]},"mode":{"type":"string","enum":["direct","draft_only","manual_export"]},"destination":{"type":"object","properties":{"externalAccountId":{"anyOf":[{"type":"string"},{"type":"null"}]},"handle":{"anyOf":[{"type":"string"},{"type":"null"}]},"targetType":{"anyOf":[{"type":"string","enum":["personal_profile","company_page"]},{"type":"null"}]},"organizationId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["externalAccountId","handle","targetType","organizationId"],"additionalProperties":false},"scopes":{"type":"array","items":{"type":"string"}},"expiresAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"capabilities":{"type":"object","properties":{"canPublish":{"type":"boolean"},"canRefresh":{"default":false,"type":"boolean"},"canReadMetrics":{"type":"boolean"},"maxTextLength":{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"formats":{"default":["text"],"type":"array","items":{"type":"string","enum":["text","article"]}}},"required":["canPublish","canRefresh","canReadMetrics","maxTextLength","formats"],"additionalProperties":false},"tiktokCreator":{"anyOf":[{"type":"object","properties":{"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"privacyLevelOptions":{"type":"array","items":{"type":"string"}},"maxVideoDurationSec":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"commentDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"duetDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"stitchDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"fetchedAt":{"type":"number"},"checkedAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"checkPending":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["displayName","avatarUrl","privacyLevelOptions","maxVideoDurationSec","commentDisabled","duetDisabled","stitchDisabled","fetchedAt","checkedAt","checkPending"],"additionalProperties":false},{"type":"null"}]},"tiktokWorkspaceConsent":{"anyOf":[{"type":"object","properties":{"acceptedAt":{"type":"number"},"current":{"type":"boolean"}},"required":["acceptedAt","current"],"additionalProperties":false},{"type":"null"}]},"postingSchedule":{"default":null,"anyOf":[{"type":"object","properties":{"timeZone":{"type":"string","minLength":1,"maxLength":64},"slots":{"maxItems":70,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":6},"time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"}},"required":["day","time"],"additionalProperties":false}}},"required":["timeZone","slots"],"additionalProperties":false},{"type":"null"}]},"xCommunities":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"name":{"type":"string","minLength":1,"maxLength":80},"addedAt":{"type":"number"}},"required":["id","name","addedAt"],"additionalProperties":false}},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","label","workspaceId","agentId","provider","status","mode","destination","scopes","expiresAt","capabilities","tiktokCreator","tiktokWorkspaceConsent","postingSchedule","xCommunities","createdAt","updatedAt"],"additionalProperties":false}},"required":["connection"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content connection slots
- Operation ID:
content.connection.set_posting_slots - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:connections - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/connections/set-posting-slots - MCP:
manage_connection(actionset_posting_slots) — Set an Andy Content connection's posting slots. Replace one Platform Connection's weekly posting slots: slots is the whole week as { day, time } rows (day 0 = Sunday … 6 = Saturday, time "HH:mm" on timeZone, e.g. Europe/London; timeZone defaults to the connection's current zone). Andy proposes a new or pending Post's time as the next free slot at least 30 minutes out; explicit and approved times never move. An empty list turns slots off and proposals fall back to the next full hour. Owner/Admin only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"connectionId":{"type":"string","minLength":1},"slots":{"maxItems":70,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":6},"time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"}},"required":["day","time"],"additionalProperties":false}},"timeZone":{"type":"string","minLength":1,"maxLength":64},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["connectionId","slots"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"connection":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"provider":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["connected","disconnected","expired"]},"mode":{"type":"string","enum":["direct","draft_only","manual_export"]},"destination":{"type":"object","properties":{"externalAccountId":{"anyOf":[{"type":"string"},{"type":"null"}]},"handle":{"anyOf":[{"type":"string"},{"type":"null"}]},"targetType":{"anyOf":[{"type":"string","enum":["personal_profile","company_page"]},{"type":"null"}]},"organizationId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["externalAccountId","handle","targetType","organizationId"],"additionalProperties":false},"scopes":{"type":"array","items":{"type":"string"}},"expiresAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"capabilities":{"type":"object","properties":{"canPublish":{"type":"boolean"},"canRefresh":{"default":false,"type":"boolean"},"canReadMetrics":{"type":"boolean"},"maxTextLength":{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"formats":{"default":["text"],"type":"array","items":{"type":"string","enum":["text","article"]}}},"required":["canPublish","canRefresh","canReadMetrics","maxTextLength","formats"],"additionalProperties":false},"tiktokCreator":{"anyOf":[{"type":"object","properties":{"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"privacyLevelOptions":{"type":"array","items":{"type":"string"}},"maxVideoDurationSec":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"commentDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"duetDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"stitchDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"fetchedAt":{"type":"number"},"checkedAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"checkPending":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["displayName","avatarUrl","privacyLevelOptions","maxVideoDurationSec","commentDisabled","duetDisabled","stitchDisabled","fetchedAt","checkedAt","checkPending"],"additionalProperties":false},{"type":"null"}]},"tiktokWorkspaceConsent":{"anyOf":[{"type":"object","properties":{"acceptedAt":{"type":"number"},"current":{"type":"boolean"}},"required":["acceptedAt","current"],"additionalProperties":false},{"type":"null"}]},"postingSchedule":{"default":null,"anyOf":[{"type":"object","properties":{"timeZone":{"type":"string","minLength":1,"maxLength":64},"slots":{"maxItems":70,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":6},"time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"}},"required":["day","time"],"additionalProperties":false}}},"required":["timeZone","slots"],"additionalProperties":false},{"type":"null"}]},"xCommunities":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"name":{"type":"string","minLength":1,"maxLength":80},"addedAt":{"type":"number"}},"required":["id","name","addedAt"],"additionalProperties":false}},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","label","workspaceId","agentId","provider","status","mode","destination","scopes","expiresAt","capabilities","tiktokCreator","tiktokWorkspaceConsent","postingSchedule","xCommunities","createdAt","updatedAt"],"additionalProperties":false}},"required":["connection"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content connection community-add
- Operation ID:
content.connection.add_x_community - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:connections - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/connections/add-x-community - MCP:
manage_connection(actionadd_x_community) — Save an X Community on an Andy X connection. Save one X Community on an X Platform Connection so its Posts can target it with xCommunity. community is the numeric id or the community URL (https://x.com/i/communities/); name is the label pickers show (saving an id already on the list renames it). Up to 20 per connection. X connections only (x_community_unsupported otherwise); a malformed id or URL is x_community_invalid. The connected X account must be a member of the community for X to accept Posts there. Owner/Admin only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,x_community_unsupported,x_community_invalid,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"connectionId":{"type":"string","minLength":1},"community":{"type":"string","minLength":1,"maxLength":200},"name":{"type":"string","minLength":1,"maxLength":80},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["connectionId","community","name"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"connection":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"provider":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["connected","disconnected","expired"]},"mode":{"type":"string","enum":["direct","draft_only","manual_export"]},"destination":{"type":"object","properties":{"externalAccountId":{"anyOf":[{"type":"string"},{"type":"null"}]},"handle":{"anyOf":[{"type":"string"},{"type":"null"}]},"targetType":{"anyOf":[{"type":"string","enum":["personal_profile","company_page"]},{"type":"null"}]},"organizationId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["externalAccountId","handle","targetType","organizationId"],"additionalProperties":false},"scopes":{"type":"array","items":{"type":"string"}},"expiresAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"capabilities":{"type":"object","properties":{"canPublish":{"type":"boolean"},"canRefresh":{"default":false,"type":"boolean"},"canReadMetrics":{"type":"boolean"},"maxTextLength":{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"formats":{"default":["text"],"type":"array","items":{"type":"string","enum":["text","article"]}}},"required":["canPublish","canRefresh","canReadMetrics","maxTextLength","formats"],"additionalProperties":false},"tiktokCreator":{"anyOf":[{"type":"object","properties":{"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"privacyLevelOptions":{"type":"array","items":{"type":"string"}},"maxVideoDurationSec":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"commentDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"duetDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"stitchDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"fetchedAt":{"type":"number"},"checkedAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"checkPending":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["displayName","avatarUrl","privacyLevelOptions","maxVideoDurationSec","commentDisabled","duetDisabled","stitchDisabled","fetchedAt","checkedAt","checkPending"],"additionalProperties":false},{"type":"null"}]},"tiktokWorkspaceConsent":{"anyOf":[{"type":"object","properties":{"acceptedAt":{"type":"number"},"current":{"type":"boolean"}},"required":["acceptedAt","current"],"additionalProperties":false},{"type":"null"}]},"postingSchedule":{"default":null,"anyOf":[{"type":"object","properties":{"timeZone":{"type":"string","minLength":1,"maxLength":64},"slots":{"maxItems":70,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":6},"time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"}},"required":["day","time"],"additionalProperties":false}}},"required":["timeZone","slots"],"additionalProperties":false},{"type":"null"}]},"xCommunities":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"name":{"type":"string","minLength":1,"maxLength":80},"addedAt":{"type":"number"}},"required":["id","name","addedAt"],"additionalProperties":false}},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","label","workspaceId","agentId","provider","status","mode","destination","scopes","expiresAt","capabilities","tiktokCreator","tiktokWorkspaceConsent","postingSchedule","xCommunities","createdAt","updatedAt"],"additionalProperties":false}},"required":["connection"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content connection community-remove
- Operation ID:
content.connection.remove_x_community - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:connections - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/connections/remove-x-community - MCP:
manage_connection(actionremove_x_community) — Remove a saved X Community from an Andy X connection. Remove one saved X Community (communityId from the connection's xCommunities) from an X Platform Connection. New Posts can no longer target it; approved Posts keep it, and a pending Post that targets it is refused at approval (x_community_not_saved) until it is edited. Removing an id that is not saved changes nothing. X connections only. Owner/Admin only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,x_community_unsupported,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"connectionId":{"type":"string","minLength":1},"communityId":{"type":"string","pattern":"^[0-9]{1,19}$"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["connectionId","communityId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"connection":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"provider":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["connected","disconnected","expired"]},"mode":{"type":"string","enum":["direct","draft_only","manual_export"]},"destination":{"type":"object","properties":{"externalAccountId":{"anyOf":[{"type":"string"},{"type":"null"}]},"handle":{"anyOf":[{"type":"string"},{"type":"null"}]},"targetType":{"anyOf":[{"type":"string","enum":["personal_profile","company_page"]},{"type":"null"}]},"organizationId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["externalAccountId","handle","targetType","organizationId"],"additionalProperties":false},"scopes":{"type":"array","items":{"type":"string"}},"expiresAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"capabilities":{"type":"object","properties":{"canPublish":{"type":"boolean"},"canRefresh":{"default":false,"type":"boolean"},"canReadMetrics":{"type":"boolean"},"maxTextLength":{"default":null,"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"formats":{"default":["text"],"type":"array","items":{"type":"string","enum":["text","article"]}}},"required":["canPublish","canRefresh","canReadMetrics","maxTextLength","formats"],"additionalProperties":false},"tiktokCreator":{"anyOf":[{"type":"object","properties":{"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"avatarUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"privacyLevelOptions":{"type":"array","items":{"type":"string"}},"maxVideoDurationSec":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"commentDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"duetDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"stitchDisabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"fetchedAt":{"type":"number"},"checkedAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"checkPending":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["displayName","avatarUrl","privacyLevelOptions","maxVideoDurationSec","commentDisabled","duetDisabled","stitchDisabled","fetchedAt","checkedAt","checkPending"],"additionalProperties":false},{"type":"null"}]},"tiktokWorkspaceConsent":{"anyOf":[{"type":"object","properties":{"acceptedAt":{"type":"number"},"current":{"type":"boolean"}},"required":["acceptedAt","current"],"additionalProperties":false},{"type":"null"}]},"postingSchedule":{"default":null,"anyOf":[{"type":"object","properties":{"timeZone":{"type":"string","minLength":1,"maxLength":64},"slots":{"maxItems":70,"type":"array","items":{"type":"object","properties":{"day":{"type":"integer","minimum":0,"maximum":6},"time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"}},"required":["day","time"],"additionalProperties":false}}},"required":["timeZone","slots"],"additionalProperties":false},{"type":"null"}]},"xCommunities":{"default":[],"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"name":{"type":"string","minLength":1,"maxLength":80},"addedAt":{"type":"number"}},"required":["id","name","addedAt"],"additionalProperties":false}},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","label","workspaceId","agentId","provider","status","mode","destination","scopes","expiresAt","capabilities","tiktokCreator","tiktokWorkspaceConsent","postingSchedule","xCommunities","createdAt","updatedAt"],"additionalProperties":false}},"required":["connection"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content media list
- Operation ID:
content.media.list - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/content/media/list - MCP:
manage_media(actionlist) — List Andy Content Media Assets. List the Workspace's durable Media Assets. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"pieceId":{"type":"string","minLength":1},"cursor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"media":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"pieceId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"pieceRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"planItemId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"kind":{"type":"string","enum":["video","photo"]},"revision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"reviewState":{"type":"string","enum":["pending","approved","rejected"]},"renderState":{"type":"string","enum":["none","rendered"]},"provenance":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["bsale_product","catalog_product","upload","brand_logo","screen_capture"]},"ref":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type"],"additionalProperties":false}},"mime":{"anyOf":[{"type":"string"},{"type":"null"}]},"byteSize":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"width":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"height":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"durationSeconds":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"uploadState":{"anyOf":[{"type":"string","enum":["pending","ready","failed"]},{"type":"null"}]},"uploadError":{"anyOf":[{"type":"string"},{"type":"null"}]},"revisions":{"type":"array","items":{"type":"object","properties":{"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"mime":{"anyOf":[{"type":"string"},{"type":"null"}]},"renderJobId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"createdAt":{"type":"number"}},"required":["revision","url","mime","renderJobId","createdAt"],"additionalProperties":false}},"review":{"anyOf":[{"type":"object","properties":{"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"decision":{"type":"string","enum":["approved","rejected"]},"actor":{"type":"string","minLength":1},"policyVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"note":{"anyOf":[{"type":"string"},{"type":"null"}]},"decidedAt":{"type":"number"}},"required":["revision","decision","actor","policyVersion","note","decidedAt"],"additionalProperties":false},{"type":"null"}]},"costs":{"type":"object","properties":{"estimatedUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"actualUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["estimatedUsd","actualUsd"],"additionalProperties":false},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","pieceId","pieceRevision","planItemId","kind","revision","reviewState","renderState","provenance","mime","byteSize","width","height","durationSeconds","uploadState","uploadError","revisions","review","costs","nextAction","createdAt","updatedAt"],"additionalProperties":false}}},"required":["media"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content media show
- Operation ID:
content.media.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/content/media/inspect - MCP:
manage_media(actioninspect) — Inspect an Andy Content Media Asset. Inspect one exact Media Asset revision, its jobs, review, and cost evidence. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"assetId":{"type":"string","minLength":1}},"required":["assetId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"media":{"type":"object","properties":{"id":{"type":"string","minLength":1},"pieceId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"pieceRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"planItemId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"kind":{"type":"string","enum":["video","photo"]},"revision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"reviewState":{"type":"string","enum":["pending","approved","rejected"]},"renderState":{"type":"string","enum":["none","rendered"]},"provenance":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["bsale_product","catalog_product","upload","brand_logo","screen_capture"]},"ref":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type"],"additionalProperties":false}},"mime":{"anyOf":[{"type":"string"},{"type":"null"}]},"byteSize":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"width":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"height":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"durationSeconds":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"uploadState":{"anyOf":[{"type":"string","enum":["pending","ready","failed"]},{"type":"null"}]},"uploadError":{"anyOf":[{"type":"string"},{"type":"null"}]},"revisions":{"type":"array","items":{"type":"object","properties":{"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"mime":{"anyOf":[{"type":"string"},{"type":"null"}]},"renderJobId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"createdAt":{"type":"number"}},"required":["revision","url","mime","renderJobId","createdAt"],"additionalProperties":false}},"review":{"anyOf":[{"type":"object","properties":{"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"decision":{"type":"string","enum":["approved","rejected"]},"actor":{"type":"string","minLength":1},"policyVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"note":{"anyOf":[{"type":"string"},{"type":"null"}]},"decidedAt":{"type":"number"}},"required":["revision","decision","actor","policyVersion","note","decidedAt"],"additionalProperties":false},{"type":"null"}]},"costs":{"type":"object","properties":{"estimatedUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"actualUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["estimatedUsd","actualUsd"],"additionalProperties":false},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","pieceId","pieceRevision","planItemId","kind","revision","reviewState","renderState","provenance","mime","byteSize","width","height","durationSeconds","uploadState","uploadError","revisions","review","costs","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["media"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content media upload-prepare
- Operation ID:
content.media.upload_prepare - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/media/upload-prepare - MCP:
manage_media(actionprepare) — Prepare an Andy Content Media upload. Create a scoped 24-hour upload session for one file without creating a Media Asset. Anyone permitted to create Posts may upload; declare the file's sha256 hex digest so the assembled bytes are checked against it. The response carries the preparationId, the session uploadUrl, partSizeBytes, partCount, and the uploadToken. Send the bytes as parts (POST <uploadUrl>?preparation=<id>&index=<0-based>with header X-Andy-Upload-Token and the raw slice as the body); the server stores every part itself, so no caller ever names a storage object. Replaying prepare with the same key returns the same live session and the same endpoint. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,workspace_archived,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"fileName":{"type":"string","minLength":1},"contentType":{"type":"string","minLength":1},"byteSize":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sha256":{"type":"string","minLength":64,"maxLength":64},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["fileName","contentType","byteSize","sha256"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"preparationId":{"type":"string","minLength":1},"uploadUrl":{"type":"string","format":"uri"},"partSizeBytes":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"partCount":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"uploadToken":{"type":"string","minLength":1}},"required":["preparationId","uploadUrl","partSizeBytes","partCount","uploadToken"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content media upload-complete
- Operation ID:
content.media.upload_complete - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/media/upload-complete - MCP:
manage_media(actioncomplete) — Complete an Andy Content Media upload. Close an upload session whose parts all arrived and create a provenance-bearing Media Asset from them. Completion takes no storage id: the asset is assembled from the parts this session's own intake stored, inside the same Workspace, actor, token and 24-hour window, so bytes sent under another session can never be claimed. Anyone permitted to create Posts may complete their own sessions. The asset kind is derived from measured bytes. Assembly and content validation finish asynchronously; poll inspect until uploadState is ready or failed. Only ready assets attach or publish. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"preparationId":{"type":"string","minLength":1},"uploadToken":{"type":"string","minLength":1},"sourceType":{"type":"string","enum":["bsale_product","catalog_product","upload"]},"sourceRef":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["preparationId","uploadToken","sourceType"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"media":{"type":"object","properties":{"id":{"type":"string","minLength":1},"pieceId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"pieceRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"planItemId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"kind":{"type":"string","enum":["video","photo"]},"revision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"reviewState":{"type":"string","enum":["pending","approved","rejected"]},"renderState":{"type":"string","enum":["none","rendered"]},"provenance":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["bsale_product","catalog_product","upload","brand_logo","screen_capture"]},"ref":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type"],"additionalProperties":false}},"mime":{"anyOf":[{"type":"string"},{"type":"null"}]},"byteSize":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"width":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"height":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"durationSeconds":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"uploadState":{"anyOf":[{"type":"string","enum":["pending","ready","failed"]},{"type":"null"}]},"uploadError":{"anyOf":[{"type":"string"},{"type":"null"}]},"revisions":{"type":"array","items":{"type":"object","properties":{"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"mime":{"anyOf":[{"type":"string"},{"type":"null"}]},"renderJobId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"createdAt":{"type":"number"}},"required":["revision","url","mime","renderJobId","createdAt"],"additionalProperties":false}},"review":{"anyOf":[{"type":"object","properties":{"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"decision":{"type":"string","enum":["approved","rejected"]},"actor":{"type":"string","minLength":1},"policyVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"note":{"anyOf":[{"type":"string"},{"type":"null"}]},"decidedAt":{"type":"number"}},"required":["revision","decision","actor","policyVersion","note","decidedAt"],"additionalProperties":false},{"type":"null"}]},"costs":{"type":"object","properties":{"estimatedUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"actualUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["estimatedUsd","actualUsd"],"additionalProperties":false},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","pieceId","pieceRevision","planItemId","kind","revision","reviewState","renderState","provenance","mime","byteSize","width","height","durationSeconds","uploadState","uploadError","revisions","review","costs","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["media"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content media upload-bytes
- Operation ID:
content.media.upload_bytes - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/media/upload-bytes - MCP:
manage_media(actionupload_bytes) — Upload Andy Content Media bytes. Upload one PNG/JPEG image as JSON-transport bytes (max 3 MB raw) and create a reusable photo Media Asset with sourceType upload. The server stores the bytes itself — no preparation, no upload URL, no client storage id — then completes through the same shared upload lifecycle as the direct-upload door. Replaying the same idempotencyKey with the same bytes returns the same asset; the same key with different bytes is idempotency_conflict. Read the asset back with content.media.inspect and attach its id as mediaAssetId on content.post.create for any channel. Anyone permitted to create Posts may upload. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,workspace_archived,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"bytesBase64":{"type":"string","minLength":4,"maxLength":4000000},"contentType":{"type":"string","enum":["image/png","image/jpeg"]},"fileName":{"type":"string","minLength":1,"maxLength":200},"sourceRef":{"type":"string","minLength":1,"maxLength":500},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["bytesBase64","contentType","fileName"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"media":{"type":"object","properties":{"id":{"type":"string","minLength":1},"pieceId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"pieceRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"planItemId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"kind":{"type":"string","enum":["video","photo"]},"revision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"reviewState":{"type":"string","enum":["pending","approved","rejected"]},"renderState":{"type":"string","enum":["none","rendered"]},"provenance":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["bsale_product","catalog_product","upload","brand_logo","screen_capture"]},"ref":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type"],"additionalProperties":false}},"mime":{"anyOf":[{"type":"string"},{"type":"null"}]},"byteSize":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"width":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"height":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"durationSeconds":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"uploadState":{"anyOf":[{"type":"string","enum":["pending","ready","failed"]},{"type":"null"}]},"uploadError":{"anyOf":[{"type":"string"},{"type":"null"}]},"revisions":{"type":"array","items":{"type":"object","properties":{"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"mime":{"anyOf":[{"type":"string"},{"type":"null"}]},"renderJobId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"createdAt":{"type":"number"}},"required":["revision","url","mime","renderJobId","createdAt"],"additionalProperties":false}},"review":{"anyOf":[{"type":"object","properties":{"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"decision":{"type":"string","enum":["approved","rejected"]},"actor":{"type":"string","minLength":1},"policyVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"note":{"anyOf":[{"type":"string"},{"type":"null"}]},"decidedAt":{"type":"number"}},"required":["revision","decision","actor","policyVersion","note","decidedAt"],"additionalProperties":false},{"type":"null"}]},"costs":{"type":"object","properties":{"estimatedUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"actualUsd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]}},"required":["estimatedUsd","actualUsd"],"additionalProperties":false},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","pieceId","pieceRevision","planItemId","kind","revision","reviewState","renderState","provenance","mime","byteSize","width","height","durationSeconds","uploadState","uploadError","revisions","review","costs","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["media"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content post create
- Operation ID:
content.post.create - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/posts/create - MCP:
manage_post(actioncreate) — Create an Andy Content Post. Create a direct Post for one channel with an explicit intent (default request_approval). request_approval always files the Post as pending_approval with no dispatch, storing a proposed future scheduledAt (when the caller gives none, Andy proposes the connection's next free posting slot at least 30 minutes out, or the next full hour when the connection has no slots). schedule requires an explicit future scheduledAt and directly approves+schedules for Owner/Admin. publish_now is explicitly immediate and rejects scheduledAt. Members may only request approval. A Workspace API Key needs content:write, plus content:schedule for schedule or content:publish for publish_now. Create's optional targetType (personal_profile | company_page, LinkedIn only) picks the destination without an id; omitted, LinkedIn stays on the member profile. Optional firstComment (X up to 280 characters, LinkedIn up to 1250) is posted by Andy right after the Post publishes: a reply to the tweet on X, a comment by the same author on LinkedIn; Instagram and TikTok refuse it with first_comment_unsupported. It is part of what approval pins. X only: optional xCommunity { id, shareWithFollowers } (id from the Post's connection xCommunities, see content.connection.add_x_community) publishes the Post to that X Community instead of the author's timeline; shareWithFollowers:true also shows it to the author's followers. The author must be a member of the community. Other channels refuse it with x_community_unsupported; a community the connection has not saved is x_community_not_saved. Approval pins it. X Articles: send article { title, body, coverMediaAssetId? } instead of text (connections whose capabilities.formats include article; otherwise post_format_unsupported). The body is Markdown stored exactly as sent; inline images areWorkspace Media Assets, and they and the cover must be JPEG/PNG up to 5 MB. An Article takes no mediaAssetId, firstComment or xCommunity; copy.text is its title. Approval pins the title, body, cover and every inline image. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,setup_required,instagram_media_required,instagram_media_unsupported,media_unsupported,media_pending,tiktok_settings_required,tiktok_consent_required,tiktok_privacy_invalid,tiktok_media_required,tiktok_media_unsupported,tiktok_media_too_long,tiktok_interaction_unavailable,tiktok_branded_private,tiktok_caption_too_long,tiktok_delivery_unconfigured,tiktok_delivery_misconfigured,tiktok_media_unmeasured,tiktok_creator_cap_missing,first_comment_unsupported,x_community_unsupported,x_community_not_saved,post_text_too_long,post_format_unsupported,article_body_empty,article_markdown_too_long,article_image_source_unsupported,article_link_unsupported,article_html_unsupported,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","oneOf":[{"type":"object","properties":{"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"text":{"type":"string","minLength":1,"maxLength":25000},"targetType":{"type":"string","enum":["personal_profile","company_page"]},"mediaAssetId":{"type":"string","minLength":1},"tiktokSettings":{"type":"object","properties":{"privacyLevel":{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"commentEnabled":{"type":"boolean"},"duetEnabled":{"type":"boolean"},"stitchEnabled":{"type":"boolean"},"commercialContent":{"type":"string","enum":["off","own_brand","branded","both"]},"consentAccepted":{"type":"boolean"}},"required":["privacyLevel"],"additionalProperties":false},"firstComment":{"type":"string","minLength":1,"maxLength":1250},"xCommunity":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"}},"required":["id","shareWithFollowers"],"additionalProperties":false},"connectionId":{"type":"string","minLength":1},"intent":{"type":"string","enum":["request_approval","schedule","publish_now"]},"scheduledAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["channel","text"],"additionalProperties":false},{"type":"object","properties":{"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"article":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":1000},"body":{"type":"string","minLength":1,"maxLength":100000},"coverMediaAssetId":{"type":"string","minLength":1}},"required":["title","body"],"additionalProperties":false},"connectionId":{"type":"string","minLength":1},"intent":{"type":"string","enum":["request_approval","schedule","publish_now"]},"scheduledAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["channel","article"],"additionalProperties":false}]}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"post":{"type":"object","properties":{"id":{"type":"string","minLength":1},"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["pending_approval","approved","published","failed","rejected"]},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"format":{"default":"text","type":"string","enum":["text","article"]},"copy":{"type":"object","properties":{"text":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"cta":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["text","hashtags","cta"],"additionalProperties":false},"article":{"default":null,"anyOf":[{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"coverMediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["title","body","coverMediaAssetId"],"additionalProperties":false},{"type":"null"}]},"scheduledAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"publishState":{"anyOf":[{"type":"string","enum":["queued","paused","publishing","manual_exported","published","failed","unknown","cancelled"]},{"type":"null"}]},"publishError":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalPostId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"mediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"mediaRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"tiktokSettings":{"anyOf":[{"type":"object","properties":{"privacyLevel":{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"commentEnabled":{"type":"boolean"},"duetEnabled":{"type":"boolean"},"stitchEnabled":{"type":"boolean"},"commercialContent":{"type":"string","enum":["off","own_brand","branded","both"]}},"required":["privacyLevel","commentEnabled","duetEnabled","stitchEnabled","commercialContent"],"additionalProperties":false},{"type":"null"}]},"firstComment":{"anyOf":[{"type":"object","properties":{"text":{"type":"string","minLength":1},"state":{"type":"string","enum":["pending","posting","posted","failed"]},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["text","state","externalId","externalUrl","error","updatedAt"],"additionalProperties":false},{"type":"null"}]},"xCommunity":{"default":null,"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["id","shareWithFollowers","name"],"additionalProperties":false},{"type":"null"}]},"connectionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"connectionLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"approval":{"anyOf":[{"type":"object","properties":{"approvedAt":{"type":"number"},"approvedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"approvedRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"actor":{"type":"string","minLength":1},"contentHash":{"type":"string","minLength":1},"destinationFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["approvedAt","approvedBy","approvedRevision","actor","contentHash","destinationFingerprint"],"additionalProperties":false},{"type":"null"}]},"terminalReason":{"anyOf":[{"type":"string","enum":["rejected","cancelled","dismissed"]},{"type":"null"}]},"terminalAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"terminalActor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"terminalNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","channel","status","revision","format","copy","article","scheduledAt","publishState","publishError","externalPostId","externalUrl","mediaAssetId","mediaRevision","tiktokSettings","xCommunity","connectionId","connectionLabel","approval","terminalReason","terminalAt","terminalActor","terminalNote","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["post"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content post list
- Operation ID:
content.post.list - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/content/posts/list - MCP:
list_posts— List Andy Content Posts. List Workspace Posts newest first. Filter status=pending_approval for the one approval queue. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,workspace_archived,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"cursor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":100},"status":{"type":"string","enum":["pending_approval","approved","published","failed","rejected"]}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"posts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["pending_approval","approved","published","failed","rejected"]},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"format":{"default":"text","type":"string","enum":["text","article"]},"copy":{"type":"object","properties":{"text":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"cta":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["text","hashtags","cta"],"additionalProperties":false},"article":{"default":null,"anyOf":[{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"coverMediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["title","body","coverMediaAssetId"],"additionalProperties":false},{"type":"null"}]},"scheduledAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"publishState":{"anyOf":[{"type":"string","enum":["queued","paused","publishing","manual_exported","published","failed","unknown","cancelled"]},{"type":"null"}]},"publishError":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalPostId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"mediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"mediaRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"tiktokSettings":{"anyOf":[{"type":"object","properties":{"privacyLevel":{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"commentEnabled":{"type":"boolean"},"duetEnabled":{"type":"boolean"},"stitchEnabled":{"type":"boolean"},"commercialContent":{"type":"string","enum":["off","own_brand","branded","both"]}},"required":["privacyLevel","commentEnabled","duetEnabled","stitchEnabled","commercialContent"],"additionalProperties":false},{"type":"null"}]},"firstComment":{"anyOf":[{"type":"object","properties":{"text":{"type":"string","minLength":1},"state":{"type":"string","enum":["pending","posting","posted","failed"]},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["text","state","externalId","externalUrl","error","updatedAt"],"additionalProperties":false},{"type":"null"}]},"xCommunity":{"default":null,"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["id","shareWithFollowers","name"],"additionalProperties":false},{"type":"null"}]},"connectionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"connectionLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"approval":{"anyOf":[{"type":"object","properties":{"approvedAt":{"type":"number"},"approvedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"approvedRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"actor":{"type":"string","minLength":1},"contentHash":{"type":"string","minLength":1},"destinationFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["approvedAt","approvedBy","approvedRevision","actor","contentHash","destinationFingerprint"],"additionalProperties":false},{"type":"null"}]},"terminalReason":{"anyOf":[{"type":"string","enum":["rejected","cancelled","dismissed"]},{"type":"null"}]},"terminalAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"terminalActor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"terminalNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","channel","status","revision","format","copy","article","scheduledAt","publishState","publishError","externalPostId","externalUrl","mediaAssetId","mediaRevision","tiktokSettings","xCommunity","connectionId","connectionLabel","approval","terminalReason","terminalAt","terminalActor","terminalNote","nextAction","createdAt","updatedAt"],"additionalProperties":false}}},"required":["posts"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content post show
- Operation ID:
content.post.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/content/posts/inspect - MCP:
list_posts— Inspect an Andy Content Post. Inspect one exact Post by id, including lifecycle and publish state. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"postId":{"type":"string","minLength":1}},"required":["postId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"post":{"type":"object","properties":{"id":{"type":"string","minLength":1},"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["pending_approval","approved","published","failed","rejected"]},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"format":{"default":"text","type":"string","enum":["text","article"]},"copy":{"type":"object","properties":{"text":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"cta":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["text","hashtags","cta"],"additionalProperties":false},"article":{"default":null,"anyOf":[{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"coverMediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["title","body","coverMediaAssetId"],"additionalProperties":false},{"type":"null"}]},"scheduledAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"publishState":{"anyOf":[{"type":"string","enum":["queued","paused","publishing","manual_exported","published","failed","unknown","cancelled"]},{"type":"null"}]},"publishError":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalPostId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"mediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"mediaRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"tiktokSettings":{"anyOf":[{"type":"object","properties":{"privacyLevel":{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"commentEnabled":{"type":"boolean"},"duetEnabled":{"type":"boolean"},"stitchEnabled":{"type":"boolean"},"commercialContent":{"type":"string","enum":["off","own_brand","branded","both"]}},"required":["privacyLevel","commentEnabled","duetEnabled","stitchEnabled","commercialContent"],"additionalProperties":false},{"type":"null"}]},"firstComment":{"anyOf":[{"type":"object","properties":{"text":{"type":"string","minLength":1},"state":{"type":"string","enum":["pending","posting","posted","failed"]},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["text","state","externalId","externalUrl","error","updatedAt"],"additionalProperties":false},{"type":"null"}]},"xCommunity":{"default":null,"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["id","shareWithFollowers","name"],"additionalProperties":false},{"type":"null"}]},"connectionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"connectionLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"approval":{"anyOf":[{"type":"object","properties":{"approvedAt":{"type":"number"},"approvedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"approvedRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"actor":{"type":"string","minLength":1},"contentHash":{"type":"string","minLength":1},"destinationFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["approvedAt","approvedBy","approvedRevision","actor","contentHash","destinationFingerprint"],"additionalProperties":false},{"type":"null"}]},"terminalReason":{"anyOf":[{"type":"string","enum":["rejected","cancelled","dismissed"]},{"type":"null"}]},"terminalAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"terminalActor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"terminalNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","channel","status","revision","format","copy","article","scheduledAt","publishState","publishError","externalPostId","externalUrl","mediaAssetId","mediaRevision","tiktokSettings","xCommunity","connectionId","connectionLabel","approval","terminalReason","terminalAt","terminalActor","terminalNote","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["post"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content post edit
- Operation ID:
content.post.edit - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:write - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/posts/edit - MCP:
manage_post(actionedit) — Edit an Andy Content Post draft. Edit text, media, first comment (null removes it), X Community (xCommunity { id, shareWithFollowers }; null sends the Post back to the author's timeline), or proposed time on a pending_approval Post (Owner/Admin). An Article is edited with article { title, body, coverMediaAssetId? }, replaced whole; it refuses text and mediaAssetId, and a text Post refuses article. Approved posts use reschedule for time only. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,instagram_media_required,instagram_media_unsupported,media_unsupported,media_pending,first_comment_unsupported,x_community_unsupported,x_community_not_saved,post_text_too_long,post_format_unsupported,article_body_empty,article_markdown_too_long,article_image_source_unsupported,article_link_unsupported,article_html_unsupported,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"postId":{"type":"string","minLength":1},"text":{"type":"string","minLength":1,"maxLength":25000},"article":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":1000},"body":{"type":"string","minLength":1,"maxLength":100000},"coverMediaAssetId":{"type":"string","minLength":1}},"required":["title","body"],"additionalProperties":false},"mediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"scheduledAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"firstComment":{"anyOf":[{"type":"string","minLength":1,"maxLength":1250},{"type":"null"}]},"xCommunity":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"}},"required":["id","shareWithFollowers"],"additionalProperties":false},{"type":"null"}]},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["postId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"post":{"type":"object","properties":{"id":{"type":"string","minLength":1},"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["pending_approval","approved","published","failed","rejected"]},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"format":{"default":"text","type":"string","enum":["text","article"]},"copy":{"type":"object","properties":{"text":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"cta":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["text","hashtags","cta"],"additionalProperties":false},"article":{"default":null,"anyOf":[{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"coverMediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["title","body","coverMediaAssetId"],"additionalProperties":false},{"type":"null"}]},"scheduledAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"publishState":{"anyOf":[{"type":"string","enum":["queued","paused","publishing","manual_exported","published","failed","unknown","cancelled"]},{"type":"null"}]},"publishError":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalPostId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"mediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"mediaRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"tiktokSettings":{"anyOf":[{"type":"object","properties":{"privacyLevel":{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"commentEnabled":{"type":"boolean"},"duetEnabled":{"type":"boolean"},"stitchEnabled":{"type":"boolean"},"commercialContent":{"type":"string","enum":["off","own_brand","branded","both"]}},"required":["privacyLevel","commentEnabled","duetEnabled","stitchEnabled","commercialContent"],"additionalProperties":false},{"type":"null"}]},"firstComment":{"anyOf":[{"type":"object","properties":{"text":{"type":"string","minLength":1},"state":{"type":"string","enum":["pending","posting","posted","failed"]},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["text","state","externalId","externalUrl","error","updatedAt"],"additionalProperties":false},{"type":"null"}]},"xCommunity":{"default":null,"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["id","shareWithFollowers","name"],"additionalProperties":false},{"type":"null"}]},"connectionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"connectionLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"approval":{"anyOf":[{"type":"object","properties":{"approvedAt":{"type":"number"},"approvedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"approvedRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"actor":{"type":"string","minLength":1},"contentHash":{"type":"string","minLength":1},"destinationFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["approvedAt","approvedBy","approvedRevision","actor","contentHash","destinationFingerprint"],"additionalProperties":false},{"type":"null"}]},"terminalReason":{"anyOf":[{"type":"string","enum":["rejected","cancelled","dismissed"]},{"type":"null"}]},"terminalAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"terminalActor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"terminalNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","channel","status","revision","format","copy","article","scheduledAt","publishState","publishError","externalPostId","externalUrl","mediaAssetId","mediaRevision","tiktokSettings","xCommunity","connectionId","connectionLabel","approval","terminalReason","terminalAt","terminalActor","terminalNote","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["post"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content post approve
- Operation ID:
content.post.approve - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope:
content:write - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/posts/approve - MCP:
manage_post(actionapprove) — Approve an Andy Content Post. Approve one pending_approval Post (Owner/Admin) with an explicit future scheduledAt, or publish it immediately with publishNow:true — a separate explicit intent, never the default and never derived from a missing or expired proposal. Pins content and connection, then schedules publish or dispatches now. A Workspace API Key needs content:write plus content:approve and content:schedule (or content:publish instead of content:schedule for publishNow). - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,setup_required,instagram_media_required,instagram_media_unsupported,media_unsupported,media_pending,tiktok_settings_required,tiktok_consent_required,tiktok_privacy_invalid,tiktok_media_required,tiktok_media_unsupported,tiktok_media_too_long,tiktok_interaction_unavailable,tiktok_branded_private,tiktok_caption_too_long,tiktok_delivery_unconfigured,tiktok_delivery_misconfigured,tiktok_media_unmeasured,tiktok_creator_cap_missing,x_community_not_saved,post_text_too_long,post_format_unsupported,article_body_empty,article_markdown_too_long,article_image_source_unsupported,article_link_unsupported,article_html_unsupported,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","oneOf":[{"type":"object","properties":{"postId":{"type":"string","minLength":1},"scheduledAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"consentAccepted":{"type":"boolean"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["postId","scheduledAt"],"additionalProperties":false},{"type":"object","properties":{"postId":{"type":"string","minLength":1},"publishNow":{"type":"boolean","const":true},"consentAccepted":{"type":"boolean"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["postId","publishNow"],"additionalProperties":false}]}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"post":{"type":"object","properties":{"id":{"type":"string","minLength":1},"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["pending_approval","approved","published","failed","rejected"]},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"format":{"default":"text","type":"string","enum":["text","article"]},"copy":{"type":"object","properties":{"text":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"cta":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["text","hashtags","cta"],"additionalProperties":false},"article":{"default":null,"anyOf":[{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"coverMediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["title","body","coverMediaAssetId"],"additionalProperties":false},{"type":"null"}]},"scheduledAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"publishState":{"anyOf":[{"type":"string","enum":["queued","paused","publishing","manual_exported","published","failed","unknown","cancelled"]},{"type":"null"}]},"publishError":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalPostId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"mediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"mediaRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"tiktokSettings":{"anyOf":[{"type":"object","properties":{"privacyLevel":{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"commentEnabled":{"type":"boolean"},"duetEnabled":{"type":"boolean"},"stitchEnabled":{"type":"boolean"},"commercialContent":{"type":"string","enum":["off","own_brand","branded","both"]}},"required":["privacyLevel","commentEnabled","duetEnabled","stitchEnabled","commercialContent"],"additionalProperties":false},{"type":"null"}]},"firstComment":{"anyOf":[{"type":"object","properties":{"text":{"type":"string","minLength":1},"state":{"type":"string","enum":["pending","posting","posted","failed"]},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["text","state","externalId","externalUrl","error","updatedAt"],"additionalProperties":false},{"type":"null"}]},"xCommunity":{"default":null,"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["id","shareWithFollowers","name"],"additionalProperties":false},{"type":"null"}]},"connectionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"connectionLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"approval":{"anyOf":[{"type":"object","properties":{"approvedAt":{"type":"number"},"approvedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"approvedRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"actor":{"type":"string","minLength":1},"contentHash":{"type":"string","minLength":1},"destinationFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["approvedAt","approvedBy","approvedRevision","actor","contentHash","destinationFingerprint"],"additionalProperties":false},{"type":"null"}]},"terminalReason":{"anyOf":[{"type":"string","enum":["rejected","cancelled","dismissed"]},{"type":"null"}]},"terminalAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"terminalActor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"terminalNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","channel","status","revision","format","copy","article","scheduledAt","publishState","publishError","externalPostId","externalUrl","mediaAssetId","mediaRevision","tiktokSettings","xCommunity","connectionId","connectionLabel","approval","terminalReason","terminalAt","terminalActor","terminalNote","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["post"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content post reject
- Operation ID:
content.post.reject - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope:
content:write - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/posts/reject - MCP:
manage_post(actionreject) — Reject an Andy Content Post. Reject one pending_approval Post (Owner/Admin). Rejected is terminal — no redraft loop. An optional note records why. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"postId":{"type":"string","minLength":1},"note":{"type":"string","maxLength":2000},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["postId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"post":{"type":"object","properties":{"id":{"type":"string","minLength":1},"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["pending_approval","approved","published","failed","rejected"]},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"format":{"default":"text","type":"string","enum":["text","article"]},"copy":{"type":"object","properties":{"text":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"cta":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["text","hashtags","cta"],"additionalProperties":false},"article":{"default":null,"anyOf":[{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"coverMediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["title","body","coverMediaAssetId"],"additionalProperties":false},{"type":"null"}]},"scheduledAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"publishState":{"anyOf":[{"type":"string","enum":["queued","paused","publishing","manual_exported","published","failed","unknown","cancelled"]},{"type":"null"}]},"publishError":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalPostId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"mediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"mediaRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"tiktokSettings":{"anyOf":[{"type":"object","properties":{"privacyLevel":{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"commentEnabled":{"type":"boolean"},"duetEnabled":{"type":"boolean"},"stitchEnabled":{"type":"boolean"},"commercialContent":{"type":"string","enum":["off","own_brand","branded","both"]}},"required":["privacyLevel","commentEnabled","duetEnabled","stitchEnabled","commercialContent"],"additionalProperties":false},{"type":"null"}]},"firstComment":{"anyOf":[{"type":"object","properties":{"text":{"type":"string","minLength":1},"state":{"type":"string","enum":["pending","posting","posted","failed"]},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["text","state","externalId","externalUrl","error","updatedAt"],"additionalProperties":false},{"type":"null"}]},"xCommunity":{"default":null,"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["id","shareWithFollowers","name"],"additionalProperties":false},{"type":"null"}]},"connectionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"connectionLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"approval":{"anyOf":[{"type":"object","properties":{"approvedAt":{"type":"number"},"approvedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"approvedRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"actor":{"type":"string","minLength":1},"contentHash":{"type":"string","minLength":1},"destinationFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["approvedAt","approvedBy","approvedRevision","actor","contentHash","destinationFingerprint"],"additionalProperties":false},{"type":"null"}]},"terminalReason":{"anyOf":[{"type":"string","enum":["rejected","cancelled","dismissed"]},{"type":"null"}]},"terminalAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"terminalActor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"terminalNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","channel","status","revision","format","copy","article","scheduledAt","publishState","publishError","externalPostId","externalUrl","mediaAssetId","mediaRevision","tiktokSettings","xCommunity","connectionId","connectionLabel","approval","terminalReason","terminalAt","terminalActor","terminalNote","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["post"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content post cancel
- Operation ID:
content.post.cancel - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/posts/cancel - MCP:
manage_post(actioncancel) — Cancel an Andy Content Post. Cancel a pending draft or an approved Post still queued for dispatch. Lands as rejected with terminalReason=cancelled. A TikTok Post paused for lost access (#2107) stays cancellable. Reschedule on approved/no-attempt creates the queued attempt and arms dispatch atomically. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"postId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["postId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"post":{"type":"object","properties":{"id":{"type":"string","minLength":1},"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["pending_approval","approved","published","failed","rejected"]},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"format":{"default":"text","type":"string","enum":["text","article"]},"copy":{"type":"object","properties":{"text":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"cta":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["text","hashtags","cta"],"additionalProperties":false},"article":{"default":null,"anyOf":[{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"coverMediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["title","body","coverMediaAssetId"],"additionalProperties":false},{"type":"null"}]},"scheduledAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"publishState":{"anyOf":[{"type":"string","enum":["queued","paused","publishing","manual_exported","published","failed","unknown","cancelled"]},{"type":"null"}]},"publishError":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalPostId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"mediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"mediaRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"tiktokSettings":{"anyOf":[{"type":"object","properties":{"privacyLevel":{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"commentEnabled":{"type":"boolean"},"duetEnabled":{"type":"boolean"},"stitchEnabled":{"type":"boolean"},"commercialContent":{"type":"string","enum":["off","own_brand","branded","both"]}},"required":["privacyLevel","commentEnabled","duetEnabled","stitchEnabled","commercialContent"],"additionalProperties":false},{"type":"null"}]},"firstComment":{"anyOf":[{"type":"object","properties":{"text":{"type":"string","minLength":1},"state":{"type":"string","enum":["pending","posting","posted","failed"]},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["text","state","externalId","externalUrl","error","updatedAt"],"additionalProperties":false},{"type":"null"}]},"xCommunity":{"default":null,"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["id","shareWithFollowers","name"],"additionalProperties":false},{"type":"null"}]},"connectionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"connectionLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"approval":{"anyOf":[{"type":"object","properties":{"approvedAt":{"type":"number"},"approvedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"approvedRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"actor":{"type":"string","minLength":1},"contentHash":{"type":"string","minLength":1},"destinationFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["approvedAt","approvedBy","approvedRevision","actor","contentHash","destinationFingerprint"],"additionalProperties":false},{"type":"null"}]},"terminalReason":{"anyOf":[{"type":"string","enum":["rejected","cancelled","dismissed"]},{"type":"null"}]},"terminalAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"terminalActor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"terminalNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","channel","status","revision","format","copy","article","scheduledAt","publishState","publishError","externalPostId","externalUrl","mediaAssetId","mediaRevision","tiktokSettings","xCommunity","connectionId","connectionLabel","approval","terminalReason","terminalAt","terminalActor","terminalNote","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["post"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content post dismiss
- Operation ID:
content.post.dismiss - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope:
content:write - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/posts/dismiss - MCP:
manage_post(actiondismiss) — Dismiss a failed or unknown-outcome Andy Content Post. Dismiss one failed Post, or one approved Post whose publishState is unknown and confirmed unpublished, for Owner/Admin. Lands as rejected with terminalReason=dismissed, keeping the failed/unknown attempt as the history fact and leaving Te necesitan and the approval queue. No provider call, no job, never publishes, never retries. A Workspace API Key needs content:write. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"postId":{"type":"string","minLength":1},"note":{"type":"string","maxLength":2000},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["postId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"post":{"type":"object","properties":{"id":{"type":"string","minLength":1},"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["pending_approval","approved","published","failed","rejected"]},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"format":{"default":"text","type":"string","enum":["text","article"]},"copy":{"type":"object","properties":{"text":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"cta":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["text","hashtags","cta"],"additionalProperties":false},"article":{"default":null,"anyOf":[{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"coverMediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["title","body","coverMediaAssetId"],"additionalProperties":false},{"type":"null"}]},"scheduledAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"publishState":{"anyOf":[{"type":"string","enum":["queued","paused","publishing","manual_exported","published","failed","unknown","cancelled"]},{"type":"null"}]},"publishError":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalPostId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"mediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"mediaRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"tiktokSettings":{"anyOf":[{"type":"object","properties":{"privacyLevel":{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"commentEnabled":{"type":"boolean"},"duetEnabled":{"type":"boolean"},"stitchEnabled":{"type":"boolean"},"commercialContent":{"type":"string","enum":["off","own_brand","branded","both"]}},"required":["privacyLevel","commentEnabled","duetEnabled","stitchEnabled","commercialContent"],"additionalProperties":false},{"type":"null"}]},"firstComment":{"anyOf":[{"type":"object","properties":{"text":{"type":"string","minLength":1},"state":{"type":"string","enum":["pending","posting","posted","failed"]},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["text","state","externalId","externalUrl","error","updatedAt"],"additionalProperties":false},{"type":"null"}]},"xCommunity":{"default":null,"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["id","shareWithFollowers","name"],"additionalProperties":false},{"type":"null"}]},"connectionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"connectionLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"approval":{"anyOf":[{"type":"object","properties":{"approvedAt":{"type":"number"},"approvedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"approvedRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"actor":{"type":"string","minLength":1},"contentHash":{"type":"string","minLength":1},"destinationFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["approvedAt","approvedBy","approvedRevision","actor","contentHash","destinationFingerprint"],"additionalProperties":false},{"type":"null"}]},"terminalReason":{"anyOf":[{"type":"string","enum":["rejected","cancelled","dismissed"]},{"type":"null"}]},"terminalAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"terminalActor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"terminalNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","channel","status","revision","format","copy","article","scheduledAt","publishState","publishError","externalPostId","externalUrl","mediaAssetId","mediaRevision","tiktokSettings","xCommunity","connectionId","connectionLabel","approval","terminalReason","terminalAt","terminalActor","terminalNote","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["post"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content post reschedule
- Operation ID:
content.post.reschedule - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/posts/reschedule - MCP:
manage_post(actionreschedule) — Reschedule an Andy Content Post. Move the proposed or queued publish time of a pending or approved Post. Approved rows with no publish attempt get a queued attempt and dispatch armed atomically. Rescheduling an approved Post needs Owner/Admin (a Workspace API Key needs content:schedule plus content:write); moving a pending proposal needs only content:write. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"postId":{"type":"string","minLength":1},"scheduledAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["postId","scheduledAt"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"post":{"type":"object","properties":{"id":{"type":"string","minLength":1},"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["pending_approval","approved","published","failed","rejected"]},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"format":{"default":"text","type":"string","enum":["text","article"]},"copy":{"type":"object","properties":{"text":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"cta":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["text","hashtags","cta"],"additionalProperties":false},"article":{"default":null,"anyOf":[{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"coverMediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["title","body","coverMediaAssetId"],"additionalProperties":false},{"type":"null"}]},"scheduledAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"publishState":{"anyOf":[{"type":"string","enum":["queued","paused","publishing","manual_exported","published","failed","unknown","cancelled"]},{"type":"null"}]},"publishError":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalPostId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"mediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"mediaRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"tiktokSettings":{"anyOf":[{"type":"object","properties":{"privacyLevel":{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"commentEnabled":{"type":"boolean"},"duetEnabled":{"type":"boolean"},"stitchEnabled":{"type":"boolean"},"commercialContent":{"type":"string","enum":["off","own_brand","branded","both"]}},"required":["privacyLevel","commentEnabled","duetEnabled","stitchEnabled","commercialContent"],"additionalProperties":false},{"type":"null"}]},"firstComment":{"anyOf":[{"type":"object","properties":{"text":{"type":"string","minLength":1},"state":{"type":"string","enum":["pending","posting","posted","failed"]},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["text","state","externalId","externalUrl","error","updatedAt"],"additionalProperties":false},{"type":"null"}]},"xCommunity":{"default":null,"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["id","shareWithFollowers","name"],"additionalProperties":false},{"type":"null"}]},"connectionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"connectionLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"approval":{"anyOf":[{"type":"object","properties":{"approvedAt":{"type":"number"},"approvedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"approvedRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"actor":{"type":"string","minLength":1},"contentHash":{"type":"string","minLength":1},"destinationFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["approvedAt","approvedBy","approvedRevision","actor","contentHash","destinationFingerprint"],"additionalProperties":false},{"type":"null"}]},"terminalReason":{"anyOf":[{"type":"string","enum":["rejected","cancelled","dismissed"]},{"type":"null"}]},"terminalAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"terminalActor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"terminalNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","channel","status","revision","format","copy","article","scheduledAt","publishState","publishError","externalPostId","externalUrl","mediaAssetId","mediaRevision","tiktokSettings","xCommunity","connectionId","connectionLabel","approval","terminalReason","terminalAt","terminalActor","terminalNote","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["post"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content post pause
- Operation ID:
content.post.pause - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/posts/pause - MCP:
manage_post(actionpause) — Pause an Andy Content Post. Pause an approved queued Post without losing approval or its target. Paused posts cannot dispatch. A Member or content:write key may stop delivery. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"postId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["postId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"post":{"type":"object","properties":{"id":{"type":"string","minLength":1},"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["pending_approval","approved","published","failed","rejected"]},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"format":{"default":"text","type":"string","enum":["text","article"]},"copy":{"type":"object","properties":{"text":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"cta":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["text","hashtags","cta"],"additionalProperties":false},"article":{"default":null,"anyOf":[{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"coverMediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["title","body","coverMediaAssetId"],"additionalProperties":false},{"type":"null"}]},"scheduledAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"publishState":{"anyOf":[{"type":"string","enum":["queued","paused","publishing","manual_exported","published","failed","unknown","cancelled"]},{"type":"null"}]},"publishError":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalPostId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"mediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"mediaRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"tiktokSettings":{"anyOf":[{"type":"object","properties":{"privacyLevel":{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"commentEnabled":{"type":"boolean"},"duetEnabled":{"type":"boolean"},"stitchEnabled":{"type":"boolean"},"commercialContent":{"type":"string","enum":["off","own_brand","branded","both"]}},"required":["privacyLevel","commentEnabled","duetEnabled","stitchEnabled","commercialContent"],"additionalProperties":false},{"type":"null"}]},"firstComment":{"anyOf":[{"type":"object","properties":{"text":{"type":"string","minLength":1},"state":{"type":"string","enum":["pending","posting","posted","failed"]},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["text","state","externalId","externalUrl","error","updatedAt"],"additionalProperties":false},{"type":"null"}]},"xCommunity":{"default":null,"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["id","shareWithFollowers","name"],"additionalProperties":false},{"type":"null"}]},"connectionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"connectionLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"approval":{"anyOf":[{"type":"object","properties":{"approvedAt":{"type":"number"},"approvedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"approvedRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"actor":{"type":"string","minLength":1},"contentHash":{"type":"string","minLength":1},"destinationFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["approvedAt","approvedBy","approvedRevision","actor","contentHash","destinationFingerprint"],"additionalProperties":false},{"type":"null"}]},"terminalReason":{"anyOf":[{"type":"string","enum":["rejected","cancelled","dismissed"]},{"type":"null"}]},"terminalAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"terminalActor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"terminalNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","channel","status","revision","format","copy","article","scheduledAt","publishState","publishError","externalPostId","externalUrl","mediaAssetId","mediaRevision","tiktokSettings","xCommunity","connectionId","connectionLabel","approval","terminalReason","terminalAt","terminalActor","terminalNote","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["post"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content post retry-first-comment
- Operation ID:
content.post.retry_first_comment - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:write - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/posts/retry-first-comment - MCP:
manage_post(actionretry_first_comment) — Retry an Andy Post's first comment. Post the first comment again for a published Post whose firstComment.state is failed. Only the comment is retried; the Post itself is never republished. It posts through the Post's connection; when that connection was replaced by a reconnect, through its single replacement. Optional connectionId (a list_connections row of the same workspace, provider and target, connected, with the comment scope) picks the connection explicitly and is required when the replacement is ambiguous. Owner/Admin, or an API key with content:write and content:publish. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"postId":{"type":"string","minLength":1},"connectionId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["postId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"post":{"type":"object","properties":{"id":{"type":"string","minLength":1},"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["pending_approval","approved","published","failed","rejected"]},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"format":{"default":"text","type":"string","enum":["text","article"]},"copy":{"type":"object","properties":{"text":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"cta":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["text","hashtags","cta"],"additionalProperties":false},"article":{"default":null,"anyOf":[{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"coverMediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["title","body","coverMediaAssetId"],"additionalProperties":false},{"type":"null"}]},"scheduledAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"publishState":{"anyOf":[{"type":"string","enum":["queued","paused","publishing","manual_exported","published","failed","unknown","cancelled"]},{"type":"null"}]},"publishError":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalPostId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"mediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"mediaRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"tiktokSettings":{"anyOf":[{"type":"object","properties":{"privacyLevel":{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"commentEnabled":{"type":"boolean"},"duetEnabled":{"type":"boolean"},"stitchEnabled":{"type":"boolean"},"commercialContent":{"type":"string","enum":["off","own_brand","branded","both"]}},"required":["privacyLevel","commentEnabled","duetEnabled","stitchEnabled","commercialContent"],"additionalProperties":false},{"type":"null"}]},"firstComment":{"anyOf":[{"type":"object","properties":{"text":{"type":"string","minLength":1},"state":{"type":"string","enum":["pending","posting","posted","failed"]},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["text","state","externalId","externalUrl","error","updatedAt"],"additionalProperties":false},{"type":"null"}]},"xCommunity":{"default":null,"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["id","shareWithFollowers","name"],"additionalProperties":false},{"type":"null"}]},"connectionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"connectionLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"approval":{"anyOf":[{"type":"object","properties":{"approvedAt":{"type":"number"},"approvedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"approvedRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"actor":{"type":"string","minLength":1},"contentHash":{"type":"string","minLength":1},"destinationFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["approvedAt","approvedBy","approvedRevision","actor","contentHash","destinationFingerprint"],"additionalProperties":false},{"type":"null"}]},"terminalReason":{"anyOf":[{"type":"string","enum":["rejected","cancelled","dismissed"]},{"type":"null"}]},"terminalAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"terminalActor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"terminalNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","channel","status","revision","format","copy","article","scheduledAt","publishState","publishError","externalPostId","externalUrl","mediaAssetId","mediaRevision","tiktokSettings","xCommunity","connectionId","connectionLabel","approval","terminalReason","terminalAt","terminalActor","terminalNote","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["post"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}content post resume
- Operation ID:
content.post.resume - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
content:write - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/content/posts/resume - MCP:
manage_post(actionresume) — Resume an Andy Content Post. Resume a paused approved Post at an explicit future scheduledAt. Revalidates its exact connected target. Requires Owner/Admin or an API key with content:write and content:schedule. Never publishes immediately. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"postId":{"type":"string","minLength":1},"scheduledAt":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["postId","scheduledAt"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"post":{"type":"object","properties":{"id":{"type":"string","minLength":1},"channel":{"type":"string","enum":["x","linkedin","instagram","tiktok"]},"status":{"type":"string","enum":["pending_approval","approved","published","failed","rejected"]},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"format":{"default":"text","type":"string","enum":["text","article"]},"copy":{"type":"object","properties":{"text":{"type":"string"},"hashtags":{"type":"array","items":{"type":"string"}},"cta":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["text","hashtags","cta"],"additionalProperties":false},"article":{"default":null,"anyOf":[{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"},"coverMediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["title","body","coverMediaAssetId"],"additionalProperties":false},{"type":"null"}]},"scheduledAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"publishState":{"anyOf":[{"type":"string","enum":["queued","paused","publishing","manual_exported","published","failed","unknown","cancelled"]},{"type":"null"}]},"publishError":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalPostId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"mediaAssetId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"mediaRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"tiktokSettings":{"anyOf":[{"type":"object","properties":{"privacyLevel":{"type":"string","enum":["PUBLIC_TO_EVERYONE","MUTUAL_FOLLOW_FRIENDS","FOLLOWER_OF_CREATOR","SELF_ONLY"]},"commentEnabled":{"type":"boolean"},"duetEnabled":{"type":"boolean"},"stitchEnabled":{"type":"boolean"},"commercialContent":{"type":"string","enum":["off","own_brand","branded","both"]}},"required":["privacyLevel","commentEnabled","duetEnabled","stitchEnabled","commercialContent"],"additionalProperties":false},{"type":"null"}]},"firstComment":{"anyOf":[{"type":"object","properties":{"text":{"type":"string","minLength":1},"state":{"type":"string","enum":["pending","posting","posted","failed"]},"externalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"externalUrl":{"anyOf":[{"type":"string","format":"uri","pattern":"^https:\\/\\/.*"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["text","state","externalId","externalUrl","error","updatedAt"],"additionalProperties":false},{"type":"null"}]},"xCommunity":{"default":null,"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9]{1,19}$"},"shareWithFollowers":{"type":"boolean"},"name":{"type":"string","minLength":1,"maxLength":80}},"required":["id","shareWithFollowers","name"],"additionalProperties":false},{"type":"null"}]},"connectionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"connectionLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"approval":{"anyOf":[{"type":"object","properties":{"approvedAt":{"type":"number"},"approvedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"approvedRevision":{"anyOf":[{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},{"type":"null"}]},"actor":{"type":"string","minLength":1},"contentHash":{"type":"string","minLength":1},"destinationFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["approvedAt","approvedBy","approvedRevision","actor","contentHash","destinationFingerprint"],"additionalProperties":false},{"type":"null"}]},"terminalReason":{"anyOf":[{"type":"string","enum":["rejected","cancelled","dismissed"]},{"type":"null"}]},"terminalAt":{"anyOf":[{"type":"number"},{"type":"null"}]},"terminalActor":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"terminalNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextAction":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"number"},"updatedAt":{"type":"number"}},"required":["id","channel","status","revision","format","copy","article","scheduledAt","publishState","publishError","externalPostId","externalUrl","mediaAssetId","mediaRevision","tiktokSettings","xCommunity","connectionId","connectionLabel","approval","terminalReason","terminalAt","terminalActor","terminalNote","nextAction","createdAt","updatedAt"],"additionalProperties":false}},"required":["post"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}conversation list
- Operation ID:
conversation.list - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/conversation/list - MCP:
list_conversations— List Andy Conversations. List Workspace Conversations as flat rows sorted by recency, aggregated across every active Agent unless agentId narrows it. Each row carries Workspace and Agent identity, customer label, channel, needs-human status, handoff state, sender-block fact, a preview of at most 160 characters, and the Message count. Production traffic only; raw provider metadata never crosses this boundary. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,workspace_archived,entitlement_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"channel":{"type":"string","enum":["whatsapp","instagram","slack","voice","widget","public_url"]},"status":{"type":"string","enum":["needs_human","waiting","resolved"]},"since":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"until":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"cursor":{"type":"string","minLength":1},"pageSize":{"default":20,"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"conversations":{"type":"array","items":{"type":"object","properties":{"workspaceId":{"type":"string","minLength":1},"workspaceName":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"agentName":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"customerLabel":{"type":"string","minLength":1},"channel":{"type":"string","minLength":1},"channelLabel":{"type":"string","minLength":1},"status":{"type":"string","enum":["needs_human","waiting","resolved"]},"handoffState":{"type":"string","enum":["agent_active","paused_by_andy","paused_by_human"]},"senderBlocked":{"type":"boolean"},"lastMessageRole":{"type":"string","enum":["visitor","agent"]},"lastMessagePreview":{"type":"string"},"lastMessageAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"messageCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"messageCountCapped":{"description":"True when the Conversation has more Messages than messageCount; the count is capped per Conversation.","type":"boolean"}},"required":["workspaceId","workspaceName","agentId","agentName","sessionId","customerLabel","channel","channelLabel","status","handoffState","senderBlocked","lastMessageRole","lastMessagePreview","lastMessageAt","messageCount"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["conversations","truncated"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}conversation message list
- Operation ID:
conversation.message.list - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/conversation/message/list - MCP:
list_conversation_messages— List Andy Conversation Messages. List Conversation Messages newest first, aggregated across every active Agent unless agentId narrows it. Call it with {"role":"visitor","pageSize":1} and no other context to read the newest customer Message with Workspace and Agent names on the row; add sessionId (with agentId) to read one Conversation. Content is verbatim, clamped to maxContentChars with an honest contentTruncated flag; raw provider metadata never crosses this boundary. An Instagram Agent reply carries delivery: sent, or failed with failureCode instagram_thread_owner (Instagram had given the conversation to another app or the Meta inbox, so the Visitor got none of it), instagram_send_failed (any other failure, none of it sent) or instagram_partly_delivered (the Visitor got only the first parts). Reads are bounded: a rare role or channel can return a short or empty page with truncated true, so keep calling with meta.nextCursor until truncated is false. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,workspace_archived,entitlement_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"role":{"type":"string","enum":["visitor","agent"]},"channel":{"type":"string","enum":["whatsapp","instagram","slack","voice","widget","public_url"]},"since":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"until":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"maxContentChars":{"default":300,"type":"integer","minimum":50,"maximum":4000},"cursor":{"type":"string","minLength":1},"pageSize":{"default":20,"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","properties":{"messageId":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"workspaceName":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"agentName":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"customerLabel":{"type":"string","minLength":1},"role":{"type":"string","enum":["visitor","agent"]},"content":{"type":"string"},"contentTruncated":{"type":"boolean"},"attachments":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1},"mime":{"type":"string","minLength":1},"bytes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["name","mime","bytes"],"additionalProperties":false}},"channel":{"type":"string","minLength":1},"channelLabel":{"type":"string","minLength":1},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"delivery":{"type":"object","properties":{"status":{"type":"string","enum":["unknown","queued","sending","sent","delivered","read","failed","acceptance_unknown"]},"routeKind":{"type":"string","enum":["projection","browser","official_whatsapp","baileys_whatsapp","unsupported","unknown"]},"attempt":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"correlationId":{"type":"string","minLength":1},"providerMessageId":{"type":"string","minLength":1},"failureCode":{"type":"string","minLength":1},"retryAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"updatedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["status","routeKind","attempt","maxAttempts","correlationId"],"additionalProperties":false}},"required":["messageId","workspaceId","workspaceName","agentId","agentName","sessionId","customerLabel","role","content","contentTruncated","channel","channelLabel","createdAt"],"additionalProperties":false}},"truncated":{"type":"boolean"}},"required":["messages","truncated"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}conversation reply-eligibility inspect
- Operation ID:
conversation.reply_eligibility.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/conversation/reply-eligibility/inspect - MCP:
inspect_reply_eligibility— Inspect Conversation Reply Eligibility. Read the canonical, source-agnostic facts that decide whether an operator reply may be submitted. This does not enable a channel or send anything. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1}},"required":["sessionId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"workspaceId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"source":{"type":"string","enum":["browser","official_whatsapp","baileys_whatsapp","instagram","slack","voice","generic_api","widget","public_url","unknown"]},"routeKind":{"type":"string","enum":["projection","browser","official_whatsapp","baileys_whatsapp","unsupported","unknown"]},"eligible":{"type":"boolean"},"control":{"type":"string","enum":["available","unavailable","unknown"]},"canonicalRoute":{"type":"string","enum":["available","unavailable","unknown"]},"presence":{"type":"string","enum":["available","unavailable","unknown"]},"destination":{"type":"string","enum":["available","unavailable","unknown"]},"releaseState":{"type":"string","enum":["available","unavailable","unknown"]},"providerPolicy":{"type":"string","enum":["available","unavailable","unknown"]},"senderBlock":{"type":"string","enum":["available","unavailable","unknown"]},"transportHealth":{"type":"string","enum":["available","unavailable","unknown"]},"reason":{"type":"string","enum":["eligible","control_not_human","sender_blocked","route_unknown","route_unavailable","destination_unavailable","not_released","provider_policy_unavailable","template_required","transport_unavailable","visitor_offline","channel_not_allowed"]}},"required":["workspaceId","agentId","sessionId","source","routeKind","eligible","control","canonicalRoute","presence","destination","releaseState","providerPolicy","senderBlock","transportHealth","reason"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}conversation handoff takeover
- Operation ID:
conversation.handoff.takeover - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/conversation/handoff/takeover - MCP:
manage_handoff(actiontakeover) — Take over a Conversation. Pause the Agent for one Conversation so a human operator can reply. Idempotent per operator intent. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"reason":{"type":"string","minLength":1,"maxLength":500},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["sessionId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"status":{"type":"string","const":"paused"},"pausedAt":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["agentId","sessionId","status","pausedAt"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}conversation handoff hand-back
- Operation ID:
conversation.handoff.hand_back - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/conversation/handoff/hand-back - MCP:
manage_handoff(actionhand_back) — Hand a Conversation back to the Agent. Resume the Agent for one Conversation after human operator control. Idempotent per operator intent. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["sessionId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"status":{"type":"string","const":"active"},"resumedAt":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["agentId","sessionId","status","resumedAt"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}conversation message send
- Operation ID:
conversation.message.send - Authentication:
workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/conversation/message/send - MCP:
send_message— Send an operator reply in a Conversation. Persist a human operator reply into the Conversation projection and schedule channel delivery when needed. No client-facing provider send. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,workspace_commercial_inactive,idempotency_conflict,agent_selection_required,reply_ineligible
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"content":{"type":"string","minLength":1,"maxLength":4000},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["sessionId","content"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"messageId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"delivery":{"type":"object","properties":{"status":{"type":"string","enum":["projected","queued"]},"deliveryId":{"type":"string","minLength":1}},"required":["status","deliveryId"],"additionalProperties":false}},"required":["messageId","agentId","sessionId","delivery"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}conversation message submission inspect
- Operation ID:
conversation.message.submission.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:write - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/conversation/message/submission/inspect - MCP:
inspect_message_submission— Recover an operator reply's acceptance and delivery. Inspect one original send intent under the current actor and Workspace. Returns durable Message acceptance and route-evidenced Delivery state; absence never starts another send. Reauthorises current access without matching Message text. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,workspace_commercial_inactive,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["sessionId","idempotencyKey"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"submission":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","const":"not_found"}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","const":"accepted"},"messageId":{"type":"string","minLength":1},"delivery":{"type":"object","properties":{"deliveryId":{"type":"string","minLength":1},"status":{"anyOf":[{"type":"string","enum":["unknown","queued","sending","sent","delivered","read","failed","acceptance_unknown"]},{"type":"string","const":"projected"}]},"routeKind":{"type":"string","enum":["projection","browser","official_whatsapp","baileys_whatsapp","unsupported","unknown"]},"failureCode":{"type":"string"},"updatedAt":{"type":"number"}},"required":["status","routeKind"],"additionalProperties":false}},"required":["status","messageId","delivery"],"additionalProperties":false}]}},"required":["agentId","sessionId","submission"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}conversation message report
- Operation ID:
conversation.message.report - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/conversation/message/report - MCP: not exposed on MCP — Report a Conversation Message. File a UGC Message report with identity + privacy-bounded evidence. Ordinary reports go to Workspace Owner/Admin; serious categories escalate to andy@andesphere.com. No automated classifier.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"messageId":{"type":"string","minLength":1},"reasonCategory":{"type":"string","enum":["ordinary","illegal","child_safety","credible_threat","cross_tenant","andy_policy"]},"note":{"type":"string","minLength":1,"maxLength":1000},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["sessionId","messageId","reasonCategory"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"reportId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"messageId":{"type":"string","minLength":1},"reasonCategory":{"type":"string","enum":["ordinary","illegal","child_safety","credible_threat","cross_tenant","andy_policy"]},"status":{"type":"string","enum":["open","escalated"]},"escalationTarget":{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"}},"required":["reportId","agentId","sessionId","messageId","reasonCategory","status"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}conversation sender block
- Operation ID:
conversation.sender.block - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/conversation/sender/block - MCP: not exposed on MCP — Block a Conversation sender. Owner/Admin reversible block scoped to Agent × provider sender identity (channel denormalized for audit). Suppresses AI and operator replies and keeps an audit record.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"reason":{"type":"string","minLength":1,"maxLength":500},"reportId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["sessionId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"blockId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"channel":{"type":"string","minLength":1},"providerSenderIdentity":{"type":"string","minLength":1},"status":{"type":"string","const":"active"},"blockedAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"contactId":{"type":"string","minLength":1}},"required":["blockId","agentId","sessionId","channel","providerSenderIdentity","status","blockedAt"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}conversation sender unblock
- Operation ID:
conversation.sender.unblock - Authentication:
oauth_token - Workspace selection:
required - Required API Key scope: none
- Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/conversation/sender/unblock - MCP: not exposed on MCP — Unblock a Conversation sender. Owner/Admin lift of a reversible sender block for Agent × provider sender identity.
- Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["sessionId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"blockId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1},"channel":{"type":"string","minLength":1},"providerSenderIdentity":{"type":"string","minLength":1},"status":{"type":"string","const":"lifted"},"liftedAt":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["blockId","agentId","sessionId","channel","providerSenderIdentity","status","liftedAt"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}affiliate join
- Operation ID:
affiliate.join - Authentication:
oauth_token - Workspace selection:
none - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/affiliate/join - MCP:
manage_affiliate(actionjoin) — Join the Andy affiliate program. Join the affiliate program as the signed-in User and get a personal Referral Link. Accepts the affiliate terms version 2026-09-27 (andypartner.com/legal/afiliados). Idempotent: joining again returns the same Affiliate with joined false. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"acceptTermsVersion":{"type":"string","const":"2026-09-27"},"payoutMethod":{"type":"string","enum":["wise","paypal"]},"payoutEmail":{"type":"string","maxLength":254,"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["acceptTermsVersion"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"affiliate":{"type":"object","properties":{"affiliateId":{"type":"string","minLength":1},"referralCode":{"type":"string","minLength":1},"referralLink":{"type":"string","format":"uri"},"status":{"type":"string","enum":["active","suspended"]},"termsVersion":{"type":"string","minLength":1},"termsAcceptedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"payoutMethod":{"anyOf":[{"type":"string","enum":["wise","paypal"]},{"type":"null"}]},"payoutEmail":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"null"}]},"creditWorkspaceId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["affiliateId","referralCode","referralLink","status","termsVersion","termsAcceptedAt","payoutMethod","payoutEmail","creditWorkspaceId","createdAt"],"additionalProperties":false},"joined":{"type":"boolean"}},"required":["affiliate","joined"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}affiliate show
- Operation ID:
affiliate.get - Authentication:
oauth_token - Workspace selection:
none - Required API Key scope: none
- Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/affiliate/get - MCP:
manage_affiliate(actionget) — Show the signed-in User's Affiliate and earnings. Read the signed-in User's Referral Code, Referral Link and stats: Referral Link clicks (last 30 days and total), referred signups, paying Referrals, and earnings in USD cents (Andy Credit applied and pending, Cash Owed, cash paid, cash payable now against the US$20 minimum). Answers "how much have I earned?". Referrals are listed by Workspace initial, plan and whether they pay, only. creditWorkspaces lists the Affiliate's own paying Workspaces and which one receives Andy Credit. affiliate and stats are null until the User joins with affiliate.join. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"affiliate":{"anyOf":[{"type":"object","properties":{"affiliateId":{"type":"string","minLength":1},"referralCode":{"type":"string","minLength":1},"referralLink":{"type":"string","format":"uri"},"status":{"type":"string","enum":["active","suspended"]},"termsVersion":{"type":"string","minLength":1},"termsAcceptedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"payoutMethod":{"anyOf":[{"type":"string","enum":["wise","paypal"]},{"type":"null"}]},"payoutEmail":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"null"}]},"creditWorkspaceId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["affiliateId","referralCode","referralLink","status","termsVersion","termsAcceptedAt","payoutMethod","payoutEmail","creditWorkspaceId","createdAt"],"additionalProperties":false},{"type":"null"}]},"stats":{"anyOf":[{"type":"object","properties":{"clicks":{"type":"object","properties":{"last30Days":{"type":"integer","minimum":0,"maximum":9007199254740991},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["last30Days","total"],"additionalProperties":false},"referredSignups":{"type":"integer","minimum":0,"maximum":9007199254740991},"payingReferrals":{"type":"integer","minimum":0,"maximum":9007199254740991},"earnings":{"type":"object","properties":{"currency":{"type":"string","const":"usd"},"andyCreditAppliedCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"andyCreditPendingCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cashOwedCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cashPaidCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cashPayableCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"payoutMinimumCents":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["currency","andyCreditAppliedCents","andyCreditPendingCents","cashOwedCents","cashPaidCents","cashPayableCents","payoutMinimumCents"],"additionalProperties":false},"referrals":{"type":"array","items":{"type":"object","properties":{"referralId":{"type":"string","minLength":1},"workspaceInitial":{"type":"string","maxLength":1},"plan":{"anyOf":[{"type":"string"},{"type":"null"}]},"paying":{"type":"boolean"}},"required":["referralId","workspaceInitial","plan","paying"],"additionalProperties":false}},"creditWorkspaces":{"type":"array","items":{"type":"object","properties":{"workspaceId":{"type":"string","minLength":1},"name":{"type":"string"},"receivesCredit":{"type":"boolean"}},"required":["workspaceId","name","receivesCredit"],"additionalProperties":false}}},"required":["clicks","referredSignups","payingReferrals","earnings","referrals","creditWorkspaces"],"additionalProperties":false},{"type":"null"}]}},"required":["affiliate","stats"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}affiliate update
- Operation ID:
affiliate.update - Authentication:
oauth_token - Workspace selection:
none - Required API Key scope: none
- Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/affiliate/update - MCP:
manage_affiliate(actionupdate) — Set the Affiliate's payout details and Andy Credit Workspace. Set how the signed-in Affiliate is paid Cash Owed: payoutMethod wise or paypal, and the payoutEmail of that account, always together. Andy Credit needs no payout details: it lands on the customer of a Workspace the Affiliate pays for. creditWorkspaceId picks which one, from stats.creditWorkspaces of affiliate.get; without a choice it is the oldest. Either change can be made alone. resource_not_found until the User joins with affiliate.join. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,permission_denied,resource_not_found,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"payoutMethod":{"type":"string","enum":["wise","paypal"]},"payoutEmail":{"type":"string","maxLength":254,"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"creditWorkspaceId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"affiliate":{"type":"object","properties":{"affiliateId":{"type":"string","minLength":1},"referralCode":{"type":"string","minLength":1},"referralLink":{"type":"string","format":"uri"},"status":{"type":"string","enum":["active","suspended"]},"termsVersion":{"type":"string","minLength":1},"termsAcceptedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"},"payoutMethod":{"anyOf":[{"type":"string","enum":["wise","paypal"]},{"type":"null"}]},"payoutEmail":{"anyOf":[{"type":"string","format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},{"type":"null"}]},"creditWorkspaceId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"createdAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"}},"required":["affiliateId","referralCode","referralLink","status","termsVersion","termsAcceptedAt","payoutMethod","payoutEmail","creditWorkspaceId","createdAt"],"additionalProperties":false}},"required":["affiliate"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}outreach batch prepare
- Operation ID:
outreach.batch.prepare - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:write - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/outreach/batches/prepare - MCP:
manage_outreach_batch(actionprepare) — Prepare an outreach batch. Assemble (or recover) the review batch for one campaign sending day (Owner/Admin, Andesphere only). Snapshots eligible rows without accepting, selecting, verifying or queueing anything — preparation never mutates a contact. A Workspace API Key needs agent:write. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict,insufficient_scope,invalid_request
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"campaignId":{"type":"string","minLength":1},"targetSendingDay":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["campaignId","targetSendingDay"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"batch":{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"targetSendingDay":{"type":"string","minLength":1},"status":{"type":"string","enum":["preparing","ready","approved","deferred"]},"specId":{"type":"string","minLength":1},"specVersion":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"rows":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"prospectId":{"type":"string","minLength":1},"recipientId":{"type":"string","minLength":1},"prospectName":{"type":"string","minLength":1},"fitReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"normalizedAddress":{"type":"string","minLength":1},"businessIdentity":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"businessUnresolved":{"type":"boolean"},"generationId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"subject":{"type":"string"},"body":{"type":"string"},"edited":{"type":"boolean"},"followupSubject":{"anyOf":[{"type":"string"},{"type":"null"}]},"followupBody":{"anyOf":[{"type":"string"},{"type":"null"}]},"followupOnly":{"type":"boolean"},"selection":{"type":"string","enum":["selected","deselected"]},"status":{"type":"string","enum":["proposed","approved","skipped"]},"skipReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"adoptMessageId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"messageId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"queueItemId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"recipientStage":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","prospectId","recipientId","prospectName","fitReason","normalizedAddress","businessIdentity","businessUnresolved","generationId","subject","body","edited","followupSubject","followupBody","followupOnly","selection","status","skipReason","adoptMessageId","messageId","queueItemId","recipientStage","updatedAt"],"additionalProperties":false}},"counts":{"type":"object","properties":{"proposed":{"type":"integer","minimum":0,"maximum":9007199254740991},"approved":{"type":"integer","minimum":0,"maximum":9007199254740991},"skipped":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["proposed","approved","skipped"],"additionalProperties":false},"updatedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","targetSendingDay","status","specId","specVersion","rows","counts","updatedAt"],"additionalProperties":false}},"required":["batch"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}outreach batch inspect
- Operation ID:
outreach.batch.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/outreach/batches/inspect - MCP:
manage_outreach_batch(actioninspect) — Inspect an outreach batch. Read one outreach batch with its rows, revisions, selection and approval state (any Workspace Member, Andesphere only). Every row carries the rowId and rowRevision the revise and approve calls take. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,workspace_archived,resource_not_found,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"campaignId":{"type":"string","minLength":1},"batchId":{"type":"string","minLength":1}},"required":["campaignId","batchId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"batch":{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"targetSendingDay":{"type":"string","minLength":1},"status":{"type":"string","enum":["preparing","ready","approved","deferred"]},"specId":{"type":"string","minLength":1},"specVersion":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"rows":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"prospectId":{"type":"string","minLength":1},"recipientId":{"type":"string","minLength":1},"prospectName":{"type":"string","minLength":1},"fitReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"normalizedAddress":{"type":"string","minLength":1},"businessIdentity":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"businessUnresolved":{"type":"boolean"},"generationId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"subject":{"type":"string"},"body":{"type":"string"},"edited":{"type":"boolean"},"followupSubject":{"anyOf":[{"type":"string"},{"type":"null"}]},"followupBody":{"anyOf":[{"type":"string"},{"type":"null"}]},"followupOnly":{"type":"boolean"},"selection":{"type":"string","enum":["selected","deselected"]},"status":{"type":"string","enum":["proposed","approved","skipped"]},"skipReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"adoptMessageId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"messageId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"queueItemId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"recipientStage":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","prospectId","recipientId","prospectName","fitReason","normalizedAddress","businessIdentity","businessUnresolved","generationId","subject","body","edited","followupSubject","followupBody","followupOnly","selection","status","skipReason","adoptMessageId","messageId","queueItemId","recipientStage","updatedAt"],"additionalProperties":false}},"counts":{"type":"object","properties":{"proposed":{"type":"integer","minimum":0,"maximum":9007199254740991},"approved":{"type":"integer","minimum":0,"maximum":9007199254740991},"skipped":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["proposed","approved","skipped"],"additionalProperties":false},"updatedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","targetSendingDay","status","specId","specVersion","rows","counts","updatedAt"],"additionalProperties":false}},"required":["batch"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}outreach batch revise
- Operation ID:
outreach.batch.revise - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:write - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/outreach/batches/revise - MCP:
manage_outreach_batch(actionrevise) — Revise an outreach batch row. Edit one batch row's subject/body and optional follow-up copy (empty follow-up strings explicitly clear it; omitted fields stay unchanged), or change its selection (Owner/Admin, Andesphere only). Edits bump the row revision the approve call must pin. A Workspace API Key needs agent:write. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict,insufficient_scope,invalid_request
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"campaignId":{"type":"string","minLength":1},"batchId":{"type":"string","minLength":1},"rowId":{"type":"string","minLength":1},"expectedRowRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"subject":{"type":"string","minLength":2,"maxLength":80},"body":{"type":"string","minLength":10,"maxLength":5000},"followupSubject":{"type":"string","maxLength":80},"followupBody":{"type":"string","maxLength":5000},"selected":{"type":"boolean"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["campaignId","batchId","rowId","expectedRowRevision"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"row":{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"prospectId":{"type":"string","minLength":1},"recipientId":{"type":"string","minLength":1},"prospectName":{"type":"string","minLength":1},"fitReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"normalizedAddress":{"type":"string","minLength":1},"businessIdentity":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"businessUnresolved":{"type":"boolean"},"generationId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"subject":{"type":"string"},"body":{"type":"string"},"edited":{"type":"boolean"},"followupSubject":{"anyOf":[{"type":"string"},{"type":"null"}]},"followupBody":{"anyOf":[{"type":"string"},{"type":"null"}]},"followupOnly":{"type":"boolean"},"selection":{"type":"string","enum":["selected","deselected"]},"status":{"type":"string","enum":["proposed","approved","skipped"]},"skipReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"adoptMessageId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"messageId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"queueItemId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"recipientStage":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","prospectId","recipientId","prospectName","fitReason","normalizedAddress","businessIdentity","businessUnresolved","generationId","subject","body","edited","followupSubject","followupBody","followupOnly","selection","status","skipReason","adoptMessageId","messageId","queueItemId","recipientStage","updatedAt"],"additionalProperties":false}},"required":["row"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}outreach batch approve
- Operation ID:
outreach.batch.approve - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:write - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/outreach/batches/approve - MCP:
manage_outreach_batch(actionapprove) — Approve an outreach batch. The single batch decision (Owner/Admin, Andesphere only): accepts each eligible contact and freezes its immutable Message and Queue Item in one transaction, with exact per-row results — no separate contact-acceptance step. Replaying the same requestKey with the same revisions returns the original receipts; a changed payload under the same key is refused. A Workspace API Key needs agent:write. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict,insufficient_scope,invalid_request
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"campaignId":{"type":"string","minLength":1},"batchId":{"type":"string","minLength":1},"batchRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"rows":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"rowId":{"type":"string","minLength":1},"rowRevision":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["rowId","rowRevision"],"additionalProperties":false}},"requestKey":{"type":"string","minLength":8,"maxLength":200},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["campaignId","batchId","batchRevision","rows","requestKey"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"status":{"type":"string","enum":["completed","refused","conflict"]},"reason":{"type":"string","minLength":1},"batchId":{"type":"string","minLength":1},"batchRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"requestKey":{"type":"string","minLength":1},"results":{"type":"array","items":{"type":"object","properties":{"rowId":{"type":"string","minLength":1},"status":{"type":"string","enum":["approved","skipped","refused","stale"]},"reason":{"type":"string","minLength":1},"failedCodes":{"type":"array","items":{"type":"string","minLength":1}},"messageId":{"type":"string","minLength":1},"queueItemId":{"type":"string","minLength":1}},"required":["rowId","status"],"additionalProperties":false}}},"required":["status","results"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}outreach batch defer
- Operation ID:
outreach.batch.defer - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:write - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/outreach/batches/defer - MCP:
manage_outreach_batch(actiondefer) — Defer an outreach batch. Defer an open batch without approving anything (Owner/Admin, Andesphere only). Deferred rows stay unaccepted. A Workspace API Key needs agent:write. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict,insufficient_scope,invalid_request
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"campaignId":{"type":"string","minLength":1},"batchId":{"type":"string","minLength":1},"targetSendingDay":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["campaignId","batchId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"batch":{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"targetSendingDay":{"type":"string","minLength":1},"status":{"type":"string","enum":["preparing","ready","approved","deferred"]},"specId":{"type":"string","minLength":1},"specVersion":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"rows":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"prospectId":{"type":"string","minLength":1},"recipientId":{"type":"string","minLength":1},"prospectName":{"type":"string","minLength":1},"fitReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"normalizedAddress":{"type":"string","minLength":1},"businessIdentity":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"businessUnresolved":{"type":"boolean"},"generationId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"subject":{"type":"string"},"body":{"type":"string"},"edited":{"type":"boolean"},"followupSubject":{"anyOf":[{"type":"string"},{"type":"null"}]},"followupBody":{"anyOf":[{"type":"string"},{"type":"null"}]},"followupOnly":{"type":"boolean"},"selection":{"type":"string","enum":["selected","deselected"]},"status":{"type":"string","enum":["proposed","approved","skipped"]},"skipReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"adoptMessageId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"messageId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"queueItemId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"recipientStage":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","prospectId","recipientId","prospectName","fitReason","normalizedAddress","businessIdentity","businessUnresolved","generationId","subject","body","edited","followupSubject","followupBody","followupOnly","selection","status","skipReason","adoptMessageId","messageId","queueItemId","recipientStage","updatedAt"],"additionalProperties":false}},"counts":{"type":"object","properties":{"proposed":{"type":"integer","minimum":0,"maximum":9007199254740991},"approved":{"type":"integer","minimum":0,"maximum":9007199254740991},"skipped":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["proposed","approved","skipped"],"additionalProperties":false},"updatedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","revision","targetSendingDay","status","specId","specVersion","rows","counts","updatedAt"],"additionalProperties":false}},"required":["batch"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}outreach preparation start
- Operation ID:
outreach.preparation.start - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:write - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/outreach/preparation/start - MCP:
manage_outreach_preparation(actionstart) — Start suitable outreach preparation. Start (or recover) the day's suitable preparation for one campaign's next sending-day gap (Owner/Admin, Andesphere only). Capacity is checked before any external call; inspection and verifier spend stay within 16/day and confirmed free allowance. Same-day retries recover persisted work without new spend. Cannot approve or send. A Workspace API Key needs agent:write. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict,insufficient_scope,invalid_request
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"campaignId":{"type":"string","minLength":1},"targetSendingDay":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["campaignId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"preparation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"preparationDay":{"type":"string","minLength":1},"targetSendingDay":{"type":"string","minLength":1},"status":{"type":"string","enum":["running","ready","ready_shortage","deferred"]},"batchId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"inspectedReserved":{"type":"integer","minimum":0,"maximum":9007199254740991},"inspectedUsed":{"type":"integer","minimum":0,"maximum":9007199254740991},"verifierReserved":{"type":"integer","minimum":0,"maximum":9007199254740991},"verifierUsed":{"type":"integer","minimum":0,"maximum":9007199254740991},"allowanceProvider":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"allowanceRemaining":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"allowanceCheckedAt":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"discoveryCalls":{"type":"integer","minimum":0,"maximum":9007199254740991},"generationCalls":{"type":"integer","minimum":0,"maximum":9007199254740991},"shortageReasons":{"type":"array","items":{"type":"string","minLength":1}},"omittedRows":{"type":"array","items":{"type":"object","properties":{"businessIdentity":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"prospectName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"reason":{"type":"string","minLength":1}},"required":["businessIdentity","prospectName","reason"],"additionalProperties":false}},"updatedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"completedAt":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["id","preparationDay","targetSendingDay","status","batchId","inspectedReserved","inspectedUsed","verifierReserved","verifierUsed","allowanceProvider","allowanceRemaining","allowanceCheckedAt","discoveryCalls","generationCalls","shortageReasons","omittedRows","updatedAt","completedAt"],"additionalProperties":false}},"required":["preparation"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}outreach preparation resume
- Operation ID:
outreach.preparation.resume - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:write - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/outreach/preparation/resume - MCP:
manage_outreach_preparation(actionresume) — Resume suitable outreach preparation. Resume the persisted preparation run for one campaign day without new spend (Owner/Admin, Andesphere only). Recovers reservations, verifier cache and generation ledger; cannot approve or send. A Workspace API Key needs agent:write. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict,insufficient_scope,invalid_request
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"campaignId":{"type":"string","minLength":1},"preparationDay":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["campaignId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"preparation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"preparationDay":{"type":"string","minLength":1},"targetSendingDay":{"type":"string","minLength":1},"status":{"type":"string","enum":["running","ready","ready_shortage","deferred"]},"batchId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"inspectedReserved":{"type":"integer","minimum":0,"maximum":9007199254740991},"inspectedUsed":{"type":"integer","minimum":0,"maximum":9007199254740991},"verifierReserved":{"type":"integer","minimum":0,"maximum":9007199254740991},"verifierUsed":{"type":"integer","minimum":0,"maximum":9007199254740991},"allowanceProvider":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"allowanceRemaining":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"allowanceCheckedAt":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"discoveryCalls":{"type":"integer","minimum":0,"maximum":9007199254740991},"generationCalls":{"type":"integer","minimum":0,"maximum":9007199254740991},"shortageReasons":{"type":"array","items":{"type":"string","minLength":1}},"omittedRows":{"type":"array","items":{"type":"object","properties":{"businessIdentity":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"prospectName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"reason":{"type":"string","minLength":1}},"required":["businessIdentity","prospectName","reason"],"additionalProperties":false}},"updatedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"completedAt":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["id","preparationDay","targetSendingDay","status","batchId","inspectedReserved","inspectedUsed","verifierReserved","verifierUsed","allowanceProvider","allowanceRemaining","allowanceCheckedAt","discoveryCalls","generationCalls","shortageReasons","omittedRows","updatedAt","completedAt"],"additionalProperties":false}},"required":["preparation"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}outreach preparation inspect
- Operation ID:
outreach.preparation.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/outreach/preparation/inspect - MCP:
manage_outreach_preparation(actioninspect) — Inspect outreach preparation. Read one preparation run with its status, ready inventory pointer and concise shortage reasons (any Workspace Member, Andesphere only). A Workspace API Key needs agent:read. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,workspace_archived,resource_not_found,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"campaignId":{"type":"string","minLength":1},"preparationDay":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["campaignId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"preparation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"preparationDay":{"type":"string","minLength":1},"targetSendingDay":{"type":"string","minLength":1},"status":{"type":"string","enum":["running","ready","ready_shortage","deferred"]},"batchId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"inspectedReserved":{"type":"integer","minimum":0,"maximum":9007199254740991},"inspectedUsed":{"type":"integer","minimum":0,"maximum":9007199254740991},"verifierReserved":{"type":"integer","minimum":0,"maximum":9007199254740991},"verifierUsed":{"type":"integer","minimum":0,"maximum":9007199254740991},"allowanceProvider":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"allowanceRemaining":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"allowanceCheckedAt":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"discoveryCalls":{"type":"integer","minimum":0,"maximum":9007199254740991},"generationCalls":{"type":"integer","minimum":0,"maximum":9007199254740991},"shortageReasons":{"type":"array","items":{"type":"string","minLength":1}},"omittedRows":{"type":"array","items":{"type":"object","properties":{"businessIdentity":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"prospectName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"reason":{"type":"string","minLength":1}},"required":["businessIdentity","prospectName","reason"],"additionalProperties":false}},"updatedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"completedAt":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["id","preparationDay","targetSendingDay","status","batchId","inspectedReserved","inspectedUsed","verifierReserved","verifierUsed","allowanceProvider","allowanceRemaining","allowanceCheckedAt","discoveryCalls","generationCalls","shortageReasons","omittedRows","updatedAt","completedAt"],"additionalProperties":false}},"required":["preparation"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}outreach outcomes inspect
- Operation ID:
outreach.outcomes.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/outreach/outcomes/inspect - MCP:
manage_outreach_outcomes(actioninspect) — Inspect outreach outcomes. Read the business-level contacted/replied/demo/customer/unknown picture with its evidence semantics (any Workspace Member, Andesphere only). Contacted means a canonically associated submitted prospect touch with failures kept in the denominator; unassociated submissions remain explicitly unresolved, never invented businesses; only authenticated genuine human replies count as replied; synthetic fixture rows are excluded from real counts and listed separately. A Workspace API Key needs agent:read. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,workspace_archived,resource_not_found,insufficient_scope
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"campaignId":{"type":"string","minLength":1}},"required":["campaignId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"outcomes":{"type":"object","properties":{"campaignId":{"type":"string","minLength":1},"workspaceId":{"type":"string","minLength":1},"counts":{"type":"object","properties":{"contacted":{"type":"integer","minimum":0,"maximum":9007199254740991},"replied":{"type":"integer","minimum":0,"maximum":9007199254740991},"demos":{"type":"integer","minimum":0,"maximum":9007199254740991},"customers":{"type":"integer","minimum":0,"maximum":9007199254740991},"unknown":{"type":"integer","minimum":0,"maximum":9007199254740991},"deliveryFailures":{"type":"integer","minimum":0,"maximum":9007199254740991},"syntheticExcluded":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["contacted","replied","demos","customers","unknown","deliveryFailures","syntheticExcluded"],"additionalProperties":false},"contacted":{"type":"array","items":{"type":"object","properties":{"businessIdentity":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"contactedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["businessIdentity","name","contactedAt"],"additionalProperties":false}},"unresolvedSubmissions":{"type":"array","items":{"type":"object","properties":{"providerMappingId":{"type":"string","minLength":1},"messageId":{"type":"string","minLength":1},"recipientId":{"type":"string","minLength":1},"submittedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reason":{"type":"string","const":"unassociated_business"}},"required":["providerMappingId","messageId","recipientId","submittedAt","reason"],"additionalProperties":false}},"deliveryFailures":{"type":"array","items":{"type":"object","properties":{"businessIdentity":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"reason":{"type":"string","enum":["failed_policy","failed_mailbox","temporary"]},"receivedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["businessIdentity","name","reason","receivedAt"],"additionalProperties":false}},"replied":{"type":"array","items":{"type":"object","properties":{"businessIdentity":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"replyId":{"type":"string","minLength":1},"suggestion":{"type":"string","minLength":1},"evidenceQuote":{"type":"string"},"receivedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"draft":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"approved":{"type":"boolean"}},"required":["id","version","approved"],"additionalProperties":false},{"type":"null"}]}},"required":["businessIdentity","name","replyId","suggestion","evidenceQuote","receivedAt","draft"],"additionalProperties":false}},"needsReview":{"type":"array","items":{"type":"object","properties":{"businessIdentity":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"replyId":{"type":"string","minLength":1},"suggestion":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"reason":{"type":"string","enum":["unclassified","automatic","unclear"]},"receivedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["businessIdentity","name","replyId","suggestion","reason","receivedAt"],"additionalProperties":false}},"outcomes":{"type":"array","items":{"type":"object","properties":{"outcomeId":{"type":"string","minLength":1},"recordedByUserId":{"anyOf":[{"type":"string"},{"type":"null"}]},"clearedAt":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"clearedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"clearNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"businessIdentity":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"kind":{"type":"string","enum":["demo","customer"]},"demoKind":{"anyOf":[{"type":"string","enum":["booked","delivered"]},{"type":"null"}]},"contactName":{"type":"string","minLength":1},"occurredAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"evidence":{"type":"string","minLength":1},"paymentEvidence":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"operatorAsserted":{"type":"boolean"},"assertionNote":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"recordedBy":{"type":"string","minLength":1},"recordedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"corrections":{"type":"array","items":{"type":"object","properties":{"revisedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"revisedBy":{"type":"string","minLength":1},"note":{"type":"string"},"previousRecordedBy":{"type":"string","minLength":1},"previousRecordedByUserId":{"type":"string"},"previousRecordedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"previousKind":{"type":"string","enum":["demo","customer"]},"previousDemoKind":{"type":"string","enum":["booked","delivered"]},"previousContactName":{"type":"string","minLength":1},"previousOccurredAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"previousEvidence":{"type":"string"},"previousPaymentEvidence":{"type":"string","minLength":1},"previousOperatorAsserted":{"type":"boolean"},"previousAssertionNote":{"type":"string","minLength":1}},"required":["revisedAt","revisedBy","note","previousRecordedBy","previousRecordedAt","previousKind","previousContactName","previousOccurredAt","previousEvidence"],"additionalProperties":false}}},"required":["outcomeId","recordedByUserId","clearedAt","clearedBy","clearNote","businessIdentity","name","kind","demoKind","contactName","occurredAt","evidence","paymentEvidence","operatorAsserted","assertionNote","recordedBy","recordedAt","revision","corrections"],"additionalProperties":false}},"unknown":{"type":"array","items":{"type":"object","properties":{"businessIdentity":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"contactedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["businessIdentity","name","contactedAt"],"additionalProperties":false}},"synthetic":{"type":"object","properties":{"excluded":{"type":"integer","minimum":0,"maximum":9007199254740991},"rows":{"type":"array","items":{"type":"object","properties":{"businessIdentity":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"buckets":{"type":"array","items":{"type":"string","minLength":1}}},"required":["businessIdentity","name","buckets"],"additionalProperties":false}}},"required":["excluded","rows"],"additionalProperties":false},"truncated":{"type":"boolean"}},"required":["campaignId","workspaceId","counts","contacted","unresolvedSubmissions","deliveryFailures","replied","needsReview","outcomes","unknown","synthetic","truncated"],"additionalProperties":false}},"required":["outcomes"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}outreach outcomes record
- Operation ID:
outreach.outcomes.record - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:write - Minimum User role:
admin - Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/outreach/outcomes/record - MCP:
manage_outreach_outcomes(actionrecord) — Record an outreach outcome. Record one manual demo or customer outcome for a contacted business, correct it, or retract it to unknown (Owner/Admin, Andesphere only). A demo needs its booked/delivered kind plus who/when/evidence; a customer needs payment evidence or an explicitly labeled operator assertion — nothing is inferred. Inspect returns outcomeId, revision and complete history including retracted facts. To correct or retract, pass that exact outcomeId and expectedRevision; kind unknown retracts only that fact and preserves the other kind. A new fact omits both target fields. Corrections reuse this operation and keep the original recorder and evidence in the audit trail. Never approves or sends. A Workspace API Key needs agent:write. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,idempotency_conflict,insufficient_scope,invalid_request
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"campaignId":{"type":"string","minLength":1},"businessIdentity":{"type":"string","minLength":1,"maxLength":500},"outcomeId":{"type":"string","minLength":1},"expectedRevision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"kind":{"type":"string","enum":["demo","customer","unknown"]},"demoKind":{"type":"string","enum":["booked","delivered"]},"contactName":{"type":"string","minLength":1,"maxLength":200},"occurredAt":{"type":"integer","minimum":1,"maximum":9007199254740991},"evidence":{"type":"string","minLength":1,"maxLength":2000},"paymentEvidence":{"type":"string","minLength":1,"maxLength":2000},"operatorAsserted":{"type":"boolean"},"assertionNote":{"type":"string","minLength":1,"maxLength":2000},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["campaignId","businessIdentity","kind"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"cleared":{"type":"boolean"},"outcome":{"anyOf":[{"type":"object","properties":{"outcomeId":{"type":"string","minLength":1},"recordedByUserId":{"anyOf":[{"type":"string"},{"type":"null"}]},"clearedAt":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"clearedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"clearNote":{"anyOf":[{"type":"string"},{"type":"null"}]},"businessIdentity":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"kind":{"type":"string","enum":["demo","customer"]},"demoKind":{"anyOf":[{"type":"string","enum":["booked","delivered"]},{"type":"null"}]},"contactName":{"type":"string","minLength":1},"occurredAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"evidence":{"type":"string","minLength":1},"paymentEvidence":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"operatorAsserted":{"type":"boolean"},"assertionNote":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"recordedBy":{"type":"string","minLength":1},"recordedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"corrections":{"type":"array","items":{"type":"object","properties":{"revisedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"revisedBy":{"type":"string","minLength":1},"note":{"type":"string"},"previousRecordedBy":{"type":"string","minLength":1},"previousRecordedByUserId":{"type":"string"},"previousRecordedAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"previousKind":{"type":"string","enum":["demo","customer"]},"previousDemoKind":{"type":"string","enum":["booked","delivered"]},"previousContactName":{"type":"string","minLength":1},"previousOccurredAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"previousEvidence":{"type":"string"},"previousPaymentEvidence":{"type":"string","minLength":1},"previousOperatorAsserted":{"type":"boolean"},"previousAssertionNote":{"type":"string","minLength":1}},"required":["revisedAt","revisedBy","note","previousRecordedBy","previousRecordedAt","previousKind","previousContactName","previousOccurredAt","previousEvidence"],"additionalProperties":false}}},"required":["outcomeId","recordedByUserId","clearedAt","clearedBy","clearNote","businessIdentity","name","kind","demoKind","contactName","occurredAt","evidence","paymentEvidence","operatorAsserted","assertionNote","recordedBy","recordedAt","revision","corrections"],"additionalProperties":false},{"type":"null"}]}},"required":["cleared","outcome"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}contact list
- Operation ID:
contact.list - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/contact/list - MCP:
list_contacts— List Andy Contacts. List one Agent's unique people, newest interaction first. population "leads" excludes booked Contacts; "booked" selects them; "all" is the default. status selects active or discarded people. query matches name/email/phone across the full population through bounded continuation, never just loaded rows. A page can be empty while meta.nextCursor remains. countsOnly returns no person rows and retains the same bounded authorised traversal, for reactive totals. counts.population and counts.matched accumulate through the traversal and are exact only when counts.complete is true. Restart traversal after a write; concurrent population changes are not a frozen snapshot. Use each row's contactId for inspect/discard/restore. Continue with the same scope and filter until meta.nextCursor is absent. A Workspace API Key needs agent:read. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,agent_selection_required
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"agentId":{"type":"string","minLength":1},"status":{"default":"active","type":"string","enum":["active","discarded"]},"population":{"default":"all","type":"string","enum":["all","leads","booked"]},"query":{"type":"string","maxLength":200},"countsOnly":{"default":false,"type":"boolean"},"cursor":{"type":"string","minLength":1},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":200}},"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"contacts":{"type":"array","items":{"type":"object","properties":{"origen":{"type":"string","enum":["conversacion","agendo_cita"]},"contactId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"company":{"type":"string"},"interestLevel":{"type":"string","enum":["low","medium","high"]},"lastInteractionAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["active","discarded"]},"discardedAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"discardReason":{"type":"string","enum":["test","not_qualified"]}},"required":["contactId","agentId","lastInteractionAt","status"],"additionalProperties":false}},"counts":{"type":"object","properties":{"population":{"type":"integer","minimum":0,"maximum":9007199254740991},"matched":{"type":"integer","minimum":0,"maximum":9007199254740991},"complete":{"type":"boolean"}},"required":["population","matched","complete"],"additionalProperties":false}},"required":["contacts","counts"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}contact show
- Operation ID:
contact.inspect - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:read - Minimum User role: none
- Mutates:
false - Idempotency: supported
false; requiredfalse - HTTP:
POST /api/public/operations/contact/inspect - MCP:
manage_contact(actioninspect) — Inspect an Andy Contact. Read one selected Agent's person, reachable identities and captured-event history. Select exactly one contactId from list_contacts or sessionId from an authorised production Conversation; sessionId resolves its saved person on that same Agent without population download. Each event exposes a Conversation destination only when the same Agent has a production Conversation in the current authorised scope. A null destination is unavailable. History is bounded: keep passing meta.nextCursor until historyComplete is true. Inspect does not change person status or establish that they were contacted. An API Key needs agent:read. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,invalid_request
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","oneOf":[{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"cursor":{"type":"string","minLength":1},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":200},"contactId":{"type":"string","minLength":1}},"required":["agentId","contactId"],"additionalProperties":false},{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"cursor":{"type":"string","minLength":1},"pageSize":{"default":50,"type":"integer","minimum":1,"maximum":200},"sessionId":{"type":"string","minLength":1}},"required":["agentId","sessionId"],"additionalProperties":false}]}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"contact":{"type":"object","properties":{"origen":{"type":"string","enum":["conversacion","agendo_cita"]},"contactId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"company":{"type":"string"},"interestLevel":{"type":"string","enum":["low","medium","high"]},"lastInteractionAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["active","discarded"]},"discardedAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"discardReason":{"type":"string","enum":["test","not_qualified"]}},"required":["contactId","agentId","lastInteractionAt","status"],"additionalProperties":false},"reachableIdentities":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["email","phone"]},"value":{"type":"string","minLength":1}},"required":["kind","value"],"additionalProperties":false}},"captures":{"type":"array","items":{"type":"object","properties":{"captureId":{"type":"string","minLength":1},"capturedAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"company":{"type":"string"},"interestLevel":{"type":"string","enum":["low","medium","high"]},"source":{"type":"string"},"notes":{"type":"string"},"conversation":{"anyOf":[{"type":"object","properties":{"agentId":{"type":"string","minLength":1},"sessionId":{"type":"string","minLength":1}},"required":["agentId","sessionId"],"additionalProperties":false},{"type":"null"}]}},"required":["captureId","capturedAt","interestLevel","source","conversation"],"additionalProperties":false}},"historyComplete":{"type":"boolean"}},"required":["contact","reachableIdentities","captures","historyComplete"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}contact discard
- Operation ID:
contact.discard - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/contact/discard - MCP:
manage_contact(actiondiscard) — Discard a Contact. Remove one Contact from Leads and from broadcast audiences, with reason "test" or "not_qualified". Nothing is deleted: the conversation history stays, and if the person writes again they stay discarded. Idempotent; contact.restore undoes it. A Workspace API Key needs agent:write. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"contactId":{"type":"string","minLength":1},"reason":{"type":"string","enum":["test","not_qualified"]},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["contactId","reason"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"contact":{"type":"object","properties":{"origen":{"type":"string","enum":["conversacion","agendo_cita"]},"contactId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"company":{"type":"string"},"interestLevel":{"type":"string","enum":["low","medium","high"]},"lastInteractionAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["active","discarded"]},"discardedAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"discardReason":{"type":"string","enum":["test","not_qualified"]}},"required":["contactId","agentId","lastInteractionAt","status"],"additionalProperties":false}},"required":["contact"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}contact restore
- Operation ID:
contact.restore - Authentication:
oauth_token,workspace_api_key - Workspace selection:
required - Required API Key scope:
agent:write - Minimum User role: none
- Mutates:
true - Idempotency: supported
true; requiredfalse - HTTP:
POST /api/public/operations/contact/restore - MCP:
manage_contact(actionrestore) — Restore a discarded Contact. Put one discarded Contact back on Leads and in broadcast audiences. Idempotent on an active Contact. A Workspace API Key needs agent:write. - Stable problems:
authentication_required,reauthentication_required,invalid_request,internal_error,workspace_selection_required,permission_denied,resource_not_found,workspace_archived,entitlement_required,idempotency_conflict
Operation input schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"contactId":{"type":"string","minLength":1},"idempotencyKey":{"type":"string","minLength":8,"maxLength":200}},"required":["contactId"],"additionalProperties":false}Operation output schema (compact JSON, complete contract):
{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"data":{"type":"object","properties":{"contact":{"type":"object","properties":{"origen":{"type":"string","enum":["conversacion","agendo_cita"]},"contactId":{"type":"string","minLength":1},"agentId":{"type":"string","minLength":1},"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"company":{"type":"string"},"interestLevel":{"type":"string","enum":["low","medium","high"]},"lastInteractionAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"status":{"type":"string","enum":["active","discarded"]},"discardedAt":{"type":"integer","minimum":0,"maximum":9007199254740991},"discardReason":{"type":"string","enum":["test","not_qualified"]}},"required":["contactId","agentId","lastInteractionAt","status"],"additionalProperties":false}},"required":["contact"],"additionalProperties":false},"meta":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"nextCursor":{"type":"string","minLength":1}},"required":["requestId"],"additionalProperties":false}},"required":["data","meta"],"additionalProperties":false}Machine-readable verification
andy version --json reports the client, public contract, Node range, and compatibility. The tracked page is current only when bun --filter @andy/docs generate-reference --check exits 0.
Next step
Use MCP for tool connection or Troubleshooting and Upgrading for stable failures and upgrades.