Wasender ​
| Workflow | Type | Description |
|---|---|---|
| wasender.auth.validate_token | Atomic | Read-only: validate a Wasender API token; no database writes |
| wasender.connection.validate | Linear | Validate a Wasender connection (API token) and record the result |
| wasender.contacts.block | Atomic | Block a Wasender contact |
| wasender.contacts.get | Atomic | Read-only: get a Wasender contact's details; no database writes |
| wasender.contacts.get_picture | Atomic | Read-only: fetch a Wasender contact's profile-picture URL; no database writes |
| wasender.contacts.lid_from_pn | Atomic | Read-only: resolve a Wasender LID from a phone number; no database writes |
| wasender.contacts.list | Atomic | Read-only: list synced Wasender contacts; no database writes |
| wasender.contacts.pn_from_lid | Atomic | Read-only: resolve a Wasender phone number from a LID; no database writes |
| wasender.contacts.unblock | Atomic | Unblock a Wasender contact |
| wasender.contacts.upsert | Atomic | Create or update a Wasender contact |
| wasender.group.provision | Linear | Create a group, add the initial participants, return the invite link |
| wasender.group.sync_participants | Linear | Reconcile a group's roster to a desired participant set (add/remove/promote/demote) |
| wasender.groups.accept_invite | Atomic | Join a group via an invite code |
| wasender.groups.add_participants | Atomic | Add participants to a group |
| wasender.groups.create | Atomic | Create a new WhatsApp group |
| wasender.groups.get_invite_info | Atomic | Read-only: resolve group metadata from an invite code; no database writes |
| wasender.groups.get_invite_link | Atomic | Read-only: fetch a group's invite-link URL; no database writes |
| wasender.groups.get_metadata | Atomic | Read-only: fetch a group's metadata; no database writes |
| wasender.groups.get_participants | Atomic | Read-only: list a group's participants; no database writes |
| wasender.groups.get_picture | Atomic | Read-only: fetch a group's profile-picture URL; no database writes |
| wasender.groups.leave | Atomic | Leave a group |
| wasender.groups.list | Atomic | Read-only: list all WhatsApp groups the account belongs to; no database writes |
| wasender.groups.remove_participants | Atomic | Remove participants from a group |
| wasender.groups.update_participants | Atomic | Promote or demote group participants |
| wasender.groups.update_settings | Atomic | Update a group's settings |
| wasender.media.decrypt | Atomic | Decrypt inbound encrypted Wasender media |
| wasender.media.upload | Atomic | Upload media to Wasender and get a reusable URL |
| wasender.message.get | Atomic | Get a single WasenderMessage by UUID |
| wasender.message.query | Atomic | List WasenderMessage rows for an organization |
| wasender.message.recall | Linear | Delete a sent message for everyone and mark the local row recalled |
| wasender.message.send | Linear | Send a WhatsApp message and persist the outbound log |
| wasender.message.send_media | Linear | Upload media bytes then send and persist the outbound log |
| wasender.messages.delete | Atomic | Delete a message for everyone |
| wasender.messages.edit | Atomic | Edit a recently-sent message |
| wasender.messages.get_info | Atomic | Read-only: fetch a message's details; no database writes |
| wasender.messages.mark_read | Atomic | Mark messages as read |
| wasender.messages.resend | Atomic | Resend a previously-failed message |
| wasender.messages.send_contact | Atomic | Send a contact card message |
| wasender.messages.send_location | Atomic | Send a location pin message |
| wasender.messages.send_media | Atomic | Send a media message by URL |
| wasender.messages.send_poll | Atomic | Send a poll message |
| wasender.messages.send_text | Atomic | Send a plain-text WhatsApp message |
| wasender.numbers.check_on_whatsapp | Atomic | Read-only: check whether a phone number is registered on WhatsApp; no database writes |
| wasender.presence.send_update | Atomic | Send a presence update to a recipient |
| wasender.session.deprovision | Linear | Tear down a session: disconnect, delete at provider, soft-delete the local row |
| wasender.session.get | Atomic | Fetch a WasenderSession by uuid |
| wasender.session.provision | Linear | End-to-end session onboarding: create at Wasender, persist, connect, return pairing QR |
| wasender.session.query | Atomic | List WasenderSession rows for an organization |
| wasender.session.reconnect | Linear | Re-establish a dropped session and reconcile local status |
| wasender.session.sync | Linear | Provider->local reconciliation: upsert/restatus/soft-delete local session rows |
| wasender.sessions.connect | Atomic | Connect a WhatsApp session |
| wasender.sessions.create | Atomic | Create a WhatsApp session |
| wasender.sessions.delete | Atomic | Delete a WhatsApp session |
| wasender.sessions.disconnect | Atomic | Disconnect a WhatsApp session |
| wasender.sessions.get | Atomic | Read-only: get a WhatsApp session; no database writes |
| wasender.sessions.get_qr | Atomic | Read-only: fetch a WhatsApp session QR code; no database writes |
| wasender.sessions.get_status | Atomic | Read-only: get WhatsApp session status; no database writes |
| wasender.sessions.list | Atomic | Read-only: list WhatsApp sessions; no database writes |
| wasender.sessions.message_logs | Atomic | Read-only: fetch WhatsApp session message logs; no database writes |
| wasender.sessions.regenerate_key | Atomic | Rotate a WhatsApp session API key |
| wasender.sessions.restart | Atomic | Restart a WhatsApp session |
| wasender.sessions.session_logs | Atomic | Read-only: fetch WhatsApp session-activity logs; no database writes |
| wasender.sessions.update | Atomic | Update a WhatsApp session |
| wasender.users.get | Atomic | Read-only: fetch the connected WhatsApp account info; no database writes |
| wasender.webhook.dispatch | Atomic | Route + handle an inbound WasenderAPI webhook event |
