{
  "info": {
    "name": "WhatsApp — mcp.ai",
    "description": "REST API for the WhatsApp MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/whatsapp",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "whatsapp_chat_archive",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/chat/archive",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "chat",
            "archive"
          ]
        },
        "description": "Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"duration_secs\": 0,\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_chat_metadata",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/chat/metadata",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "chat",
            "metadata"
          ]
        },
        "description": "Get metadata for a single chat (subject/name, archived/pinned/muted state, unread count, timestamps). Requires chat_jid.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_chat_mute",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/chat/mute",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "chat",
            "mute"
          ]
        },
        "description": "Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"duration_secs\": 0,\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_chat_pin",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/chat/pin",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "chat",
            "pin"
          ]
        },
        "description": "Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"duration_secs\": 0,\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_chat_unarchive",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/chat/unarchive",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "chat",
            "unarchive"
          ]
        },
        "description": "Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"duration_secs\": 0,\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_chat_unmute",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/chat/unmute",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "chat",
            "unmute"
          ]
        },
        "description": "Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"duration_secs\": 0,\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_chat_unpin",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/chat/unpin",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "chat",
            "unpin"
          ]
        },
        "description": "Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"duration_secs\": 0,\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_chats",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/chats",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "chats"
          ]
        },
        "description": "List WhatsApp chats (individual + group). Sorted by most recent activity.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"limit\": 0,\n  \"archived\": false,\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_contacts_get",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/contacts/get",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "contacts",
            "get"
          ]
        },
        "description": "Read WhatsApp contacts.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"query\": \"\",\n  \"limit\": 0,\n  \"jid\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_contacts_list",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/contacts/list",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "contacts",
            "list"
          ]
        },
        "description": "Read WhatsApp contacts.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"query\": \"\",\n  \"limit\": 0,\n  \"jid\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_group_manage_create",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/group/manage/create",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "group",
            "manage",
            "create"
          ]
        },
        "description": "Group lifecycle/admin (the connected account must be a group admin for most actions).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_jid\": \"\",\n  \"name\": \"\",\n  \"description\": \"\",\n  \"participants\": \"\",\n  \"link_action\": \"\",\n  \"invite\": \"\",\n  \"req_action\": \"\",\n  \"users\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_group_manage_invite_link",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/group/manage/invite/link",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "group",
            "manage",
            "invite",
            "link"
          ]
        },
        "description": "Group lifecycle/admin (the connected account must be a group admin for most actions).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_jid\": \"\",\n  \"name\": \"\",\n  \"description\": \"\",\n  \"participants\": \"\",\n  \"link_action\": \"\",\n  \"invite\": \"\",\n  \"req_action\": \"\",\n  \"users\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_group_manage_join",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/group/manage/join",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "group",
            "manage",
            "join"
          ]
        },
        "description": "Group lifecycle/admin (the connected account must be a group admin for most actions).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_jid\": \"\",\n  \"name\": \"\",\n  \"description\": \"\",\n  \"participants\": \"\",\n  \"link_action\": \"\",\n  \"invite\": \"\",\n  \"req_action\": \"\",\n  \"users\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_group_manage_leave",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/group/manage/leave",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "group",
            "manage",
            "leave"
          ]
        },
        "description": "Group lifecycle/admin (the connected account must be a group admin for most actions).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_jid\": \"\",\n  \"name\": \"\",\n  \"description\": \"\",\n  \"participants\": \"\",\n  \"link_action\": \"\",\n  \"invite\": \"\",\n  \"req_action\": \"\",\n  \"users\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_group_manage_requests",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/group/manage/requests",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "group",
            "manage",
            "requests"
          ]
        },
        "description": "Group lifecycle/admin (the connected account must be a group admin for most actions).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_jid\": \"\",\n  \"name\": \"\",\n  \"description\": \"\",\n  \"participants\": \"\",\n  \"link_action\": \"\",\n  \"invite\": \"\",\n  \"req_action\": \"\",\n  \"users\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_group_manage_update",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/group/manage/update",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "group",
            "manage",
            "update"
          ]
        },
        "description": "Group lifecycle/admin (the connected account must be a group admin for most actions).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_jid\": \"\",\n  \"name\": \"\",\n  \"description\": \"\",\n  \"participants\": \"\",\n  \"link_action\": \"\",\n  \"invite\": \"\",\n  \"req_action\": \"\",\n  \"users\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_group_members",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/group/members",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "group",
            "members"
          ]
        },
        "description": "List the members of a WhatsApp group (live). Returns each participant's JID, phone, and admin/super-admin flag. Requires group_jid (…@g.us, from whatsapp_groups).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_jid\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_group_participants_add",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/group/participants/add",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "group",
            "participants",
            "add"
          ]
        },
        "description": "Manage participants of a WhatsApp group (the connected account must be a group admin). action: 'remove' kicks members, 'promote' makes them admin, 'demote' removes admin, 'add' invites. Pass 1–50 phon",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_jid\": \"\",\n  \"users\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_group_participants_demote",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/group/participants/demote",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "group",
            "participants",
            "demote"
          ]
        },
        "description": "Manage participants of a WhatsApp group (the connected account must be a group admin). action: 'remove' kicks members, 'promote' makes them admin, 'demote' removes admin, 'add' invites. Pass 1–50 phon",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_jid\": \"\",\n  \"users\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_group_participants_promote",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/group/participants/promote",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "group",
            "participants",
            "promote"
          ]
        },
        "description": "Manage participants of a WhatsApp group (the connected account must be a group admin). action: 'remove' kicks members, 'promote' makes them admin, 'demote' removes admin, 'add' invites. Pass 1–50 phon",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_jid\": \"\",\n  \"users\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_group_participants_remove",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/group/participants/remove",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "group",
            "participants",
            "remove"
          ]
        },
        "description": "Manage participants of a WhatsApp group (the connected account must be a group admin). action: 'remove' kicks members, 'promote' makes them admin, 'demote' removes admin, 'add' invites. Pass 1–50 phon",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"group_jid\": \"\",\n  \"users\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_groups",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/groups",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "groups"
          ]
        },
        "description": "List WhatsApp groups the account belongs to — subject, jid, participants count, owner.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_history_backfill",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/history/backfill",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "history",
            "backfill"
          ]
        },
        "description": "Request OLDER messages for a chat from your phone (on-demand history sync), extending what whatsapp_messages can read. Returns { status, messages_added }:",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"count\": 0,\n  \"requests\": 0,\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_history_coverage",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/history/coverage",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "history",
            "coverage"
          ]
        },
        "description": "Show how far back the LOCAL message archive reaches per chat (oldest_ts, newest_ts, message_count, status). Use it to find pagination boundaries for whatsapp_messages and to decide whether to pull mor",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"query\": \"\",\n  \"kind\": \"\",\n  \"limit\": 0,\n  \"chat_jid\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_list_accounts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/accounts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "accounts"
          ]
        },
        "description": "List WhatsApp accounts paired to this install — wa_jid, phone, label, proxy on/off, status.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_message_delete",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/message/delete",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "message",
            "delete"
          ]
        },
        "description": "Manage a message you can act on.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"message_id\": \"\",\n  \"for_everyone\": false,\n  \"to\": \"\",\n  \"text\": \"\",\n  \"account\": \"\",\n  \"message_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_message_edit",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/message/edit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "message",
            "edit"
          ]
        },
        "description": "Manage a message you can act on.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"message_id\": \"\",\n  \"for_everyone\": false,\n  \"to\": \"\",\n  \"text\": \"\",\n  \"account\": \"\",\n  \"message_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_message_forward",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/message/forward",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "message",
            "forward"
          ]
        },
        "description": "Manage a message you can act on.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"message_id\": \"\",\n  \"for_everyone\": false,\n  \"to\": \"\",\n  \"text\": \"\",\n  \"account\": \"\",\n  \"message_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_messages",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/messages",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "messages"
          ]
        },
        "description": "List messages in a chat from LOCAL history. Requires chat_jid (from whatsapp_chats). Paginate backwards by passing the oldest message's timestamp as `before` (ISO 8601); `after` pages forward; `order`",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"before\": \"\",\n  \"after\": \"\",\n  \"since\": \"\",\n  \"order\": \"\",\n  \"limit\": 0,\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_messages_write",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/messages/write",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "messages",
            "write"
          ]
        },
        "description": "Mark messages as read in a chat. Requires chat_jid. Optional message_id (marks up to this message; omit to mark all unread).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"message_id\": \"\",\n  \"account\": \"\",\n  \"message_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_poll_create",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/poll/create",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "poll",
            "create"
          ]
        },
        "description": "Send a poll or vote on one.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"to\": \"\",\n  \"name\": \"\",\n  \"chat_jid\": \"\",\n  \"message_id\": \"\",\n  \"options\": \"\",\n  \"selectable_count\": 0,\n  \"account\": \"\",\n  \"message_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_poll_vote",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/poll/vote",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "poll",
            "vote"
          ]
        },
        "description": "Send a poll or vote on one.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"to\": \"\",\n  \"name\": \"\",\n  \"chat_jid\": \"\",\n  \"message_id\": \"\",\n  \"options\": \"\",\n  \"selectable_count\": 0,\n  \"account\": \"\",\n  \"message_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_react",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/react",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "react"
          ]
        },
        "description": "React to a message with an emoji (or remove your reaction by passing an empty emoji). Requires chat_jid + message_id.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"chat_jid\": \"\",\n  \"message_id\": \"\",\n  \"emoji\": \"\",\n  \"account\": \"\",\n  \"message_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_search",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/search",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "search"
          ]
        },
        "description": "Full-text search across all stored messages (SQLite FTS5). Optional chat_jid to scope. Returns matches with context.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"query\": \"\",\n  \"chat_jid\": \"\",\n  \"limit\": 0,\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_send_media",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/send/media",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "send",
            "media"
          ]
        },
        "description": "Send a WhatsApp message (text or media).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"to\": \"\",\n  \"text\": \"\",\n  \"reply_to\": \"\",\n  \"type\": \"\",\n  \"media_url\": \"\",\n  \"media_base64\": \"\",\n  \"caption\": \"\",\n  \"filename\": \"\",\n  \"mimetype\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_send_text",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/send/text",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "send",
            "text"
          ]
        },
        "description": "Send a WhatsApp message (text or media).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"to\": \"\",\n  \"text\": \"\",\n  \"reply_to\": \"\",\n  \"type\": \"\",\n  \"media_url\": \"\",\n  \"media_base64\": \"\",\n  \"caption\": \"\",\n  \"filename\": \"\",\n  \"mimetype\": \"\",\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "whatsapp_sync",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/sync",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "sync"
          ]
        },
        "description": "Refresh this account's local data from WhatsApp — pulls recent messages and refreshes the groups/contacts lists into the local store. Call it BEFORE reading (chats/groups/messages/contacts/search) whe",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}