Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.msgflash.com/llms.txt

Use this file to discover all available pages before exploring further.

No. MsgFlash uses Evolution API v2 as its internal provider, not Meta’s official Cloud API.
Yes. You connect an existing number through QR code or pairing code from the dashboard.
Use a standard HTTP module against https://srv.msgflash.com/api/v1/* with the x-api-key: your_api_key header.
Yes, depending on your plan. Free: 1, Starter: 3, Pro: 10, Plus: 10.
Revoke it immediately in the dashboard, create a new one, and update your integrations.
The subscription remains usable until the end of the current billing period, then the account falls back to the Free plan and its limits.
Personal uses your own plan and instances. Team workspace uses the team owner’s plan and instances (with assignments for collaborators). Switch the active workspace in the portal when the UI is connected to the Teams APIs.
Outbound usage is counted on the team owner’s subscription for that billing month.
Personal keys start with msgf_live_ and only access your personal workspace. Team keys start with msgf_team_ and require the X-Team-Id header matching the team. They cannot be mixed.
No. Personal-account routes (/v1/me, /v1/usage, /v1/billing/subscription, /v1/billing/usage, /v1/billing/payments) reject team keys with 403 TEAM_KEY_NOT_ALLOWED. Use a personal key for those, or the console JWT API for team-aware billing.
Add the optional header X-Team-Id: <team uuid> on any /api/* resource call. Without it, the call targets your personal workspace. If the team is unknown or you no longer belong to it, the API returns 404 TEAM_NOT_FOUND.
No. Owners read and mutate billing. Admins read subscription and usage but cannot mutate (403 BILLING_TEAM_MUTATION_FORBIDDEN). Only the team owner can view team payment history (403 BILLING_PAYMENTS_TEAM_OWNER_ONLY otherwise). Collaborators have no billing access.
Plan changes are blocked with 409 PLAN_CHANGE_BLOCKED_ACTIVE_TEAMS when the target plan cannot host your current teams or seats. Delete teams or reduce seats first, then retry the downgrade.
Endpoints like GET /api/v1/contacts, /contacts/groups, group /members, and /contacts/bulk-jobs return nextCursor and hasMore. Pass nextCursor back as cursor until hasMore is false. Do not switch sort mid-pagination.