Roles
Team roles are:- Owner — manages the team and can perform owner-restricted actions.
- Admin — can manage members and project resources allowed to admins.
- Member — can use resources allowed by the current membership and project policy.
admin or member. Ownership is not an invitation role.
Every team can have any number of members.
Authorization is checked against the current membership, so a role or
membership change can affect the next request.
Account invitations
Open Account > Invites to review pending invitations sent to your verified account email. Accepting an invitation adds you to the team and opens the Console only after refreshing your membership access. Declining removes the invitation from your list. If your Console session expires while this page is open, sign in again and the Console returns you to Invites. When no invitations are pending, the page displays an empty state. Ask a team owner or admin to send another invitation if an expected invitation has expired or no longer appears. You don’t need your own team to accept an invitation. If you have pending invitations when you first open the Console, it lists them before team creation. Select Join team to join, or Create my own team instead.Contact support
Use the chat bubble in the lower-right corner of any Console page to contact support. The chat accepts file attachments and keeps the conversation with your account across navigation and page refreshes. The sidebar support-code row above Documentation copies the active team’s code, or your personal code while you are under Account. You can also email support@polymorfa.com with text or attachments. Select a team during onboarding to make it the active team. Onboarding supports English and Brazilian Portuguese; selecting a language updates the remaining steps and saves the language on your account for the whole Console. See Language. Onboarding saves your progress to the active team as you continue. If a step fails to save, stay on that step and retry. Reopening an unfinished team resumes its saved setup. After you name a new team, onboarding shows its billing mode: Free or Pay-As-You-Go, with what each includes. Onboarding doesn’t ask you to choose or pay for a plan. The last step shows your team’s billing mode again. A Free team can open its project or select Upgrade to Pay-As-You-Go to open the upgrade checklist. Every team can invite any number of members; see Free and Pay-As-You-Go teams.Personal account settings
Open Account > Settings to manage guidance and your personal account. Under Display name, upload a JPG, PNG, or WebP profile photo up to 2 MB and edit the name teammates see. Your saved photo also appears in the Console account menu. Select Remove to return to your generated or connected-account photo. Under Language, choose Automatic, English or Português (Brasil) for the Console. See Language. Select Reset tips to show dismissed Console guidance again. Resetting tips does not restart team setup or change team data. To permanently delete your personal account, select Delete account and enter your signed-in email address exactly as shown. Deletion removes your personal account and team memberships. Resources owned by a team remain with that team. If you are a team’s only owner, assign another owner or delete the team before deleting your account. You must have signed in within the last 24 hours; otherwise, sign out and sign in again first. Personal account deletion cannot be undone.Project overview
The team overview places Usage and Billing in the primary column, Projects in the center, and Analytics/logs in another column. Search projects by name. Choose Gallery or Table. Each project card shows connection and spending-limit progress, message totals and last activity. Select a project name to open Get Started, or select New to create a project. On Pay-As-You-Go, team owners and admins see their credit balance, bonus progress, automatic or scheduled top-up details, today’s cost, monthly spending and the daily spending graph in Billing. Each project’s monthly budget appears inside its card. Free teams show allowances, a Free billing badge and an owner/admin upgrade link; they do not request paid spending data or show paid budgets. Analytics shows last-24-hour reads, replies, response times, waiting replies and call outcomes after opt-in. View all opens the full Analytics page. Missing measurements remain unknown. Recent logs stay available independently of Analytics. The project overview scopes both snapshots to its selected project. Manage limits opens the controls in Usage. Project caps and project priority are managed there; numbers and customers use their own native detail panels. The Budget action in a real number’s row menu opens its control directly. See spending budgets. The top-left sidebar banner shows your team’s billing mode, Free or Pay-As-You-Go. Open Billing to upgrade a Free team. Health shows the number of connected numbers out of the total, such as 1 / 2 connected. The icon distinguishes all connected, partially connected, none connected, and no numbers. This is number coverage, not a connection state for the project itself. Open Numbers to inspect individual connection states and reasons. A selected project has Get Started, Overview, Activity and Settings tabs, with Funding for Pay-As-You-Go owners and admins. Each tab has a shareable URL. Opening a project without a tab link always selects Get Started, even after its checklist is complete. The project header keeps Numbers, Usage, Project settings, the project ID copy button and available API actions above the tabs. Use the project selector at the top to switch projects. Overview shows connection coverage, message totals and Analytics. Activity shows recent logs, campaign results, template approval counts, and Flow and screen counts. Get Started contains the project checklist. Funding shows the project budget; edit limits and priority in Usage. Settings contains project name, icon and number-plan defaults for owners and admins, plus links to API keys, webhooks, Drains and QuickLink settings. Sections show loading or retry controls when their data is unavailable, rather than displaying a zero count. The overview labels the Project ID and provides a copy button. This is the ID used by integrations, not the project’s URL slug. Select the project icon or name to open Project settings. Owners and admins can save a new name, icon, or default number plan without changing the project’s ID or URL.Number plan defaults
Default number plan applies to numbers that do not have an individual plan override. Changing it changes the effective plan for those numbers; existing overrides stay unchanged. Standard and Pro describe number plans, not project subscriptions. Your team’s billing mode and add-ons are managed in Billing.Create a project
Open Projects and select New. The same creation flow opens from the project switcher and the empty Projects page.- Enter a project name and choose its icon.
- On a Free team, choose Stay on Free or Upgrade to Pay-As-You-Go, then select the default number plan. Pay-As-You-Go teams only select the default number plan.
- Review the project and select Create project.
409 with the error code payg_required for the same request.
Free and Pay-As-You-Go teams
Every team uses one of two billing modes:
New teams start on Free. Free projects don’t expire.
Team creation is limited too. Until you own a Pay-As-You-Go team, you can
create a team only while you don’t belong to any team. After you create or join
a team, creating another requires a Pay-As-You-Go team that you own. Invitations
are not limited: you can accept them at any time. When the limit applies, team
owners see Upgrade to create teams in the team switcher, and team creation
shows an upgrade prompt.
On a Free team, you can still link a real number in the Console with Link a real number now, and
you can send QuickLinks for testing numbers.
When a Free team reaches a limit, the Console shows an upgrade prompt where the
limit applies: creating a second project, adding a real number beyond the
team’s allowance, or sending a QuickLink for a real number. The API returns
409 with the error code payg_required for these requests.
The launch trial offered earlier in September 2026 has been replaced by the
launch week credit, which a team receives
when it upgrades to Pay-As-You-Go.
Upgrade to Pay-As-You-Go
Team owners and admins upgrade a team from the upgrade checklist. The team saves its business details, traffic profile, and marketing consent when applicable, then confirms a card with a $0 check or buys a regular card pack starting at $10, R$50 or ₹1,000 before tax and authorized discounts. Available Pix (Brazil) or UPI (India) methods use a starting credit purchase. With Manual top-up, Pix and UPI require a starting top-up that adds 100 credits. With Scheduled, the first scheduled pack and mandate setup use one checkout without a separate minimum purchase. The upgrade applies to the whole team and can’t be reversed. Every upgrade prompt in the Console, including the upgrade card in Billing, opens the checklist. After you upgrade:- Every real number, including the one that was free, uses credits starting with its next billing window.
- You can create more projects and send QuickLinks for real numbers.
- Testing numbers stay free.
Move a project to production
Select Upgrade to Pay-As-You-Go from a project overview, or choose it when you create a project, to open the upgrade checklist. It shows every step in one column:- Business details: the public business name, HTTPS website, support email, country of origin, company type, legal name, and tax ID (a CPF or CNPJ in Brazil, optional elsewhere).
- Traffic and consent: the message types, expected monthly volume, opt-in description and consent confirmation. Add optional opt-in and opt-out screenshots in the upload cards.
- Payment and top-up: choose Debit/Credit Card, Pix (Brazil), or UPI (India), then choose Forecast, Scheduled, or Manual top-up from the options available for that payment method. Configure the refill or schedule during this step, or choose a one-time starting pack.
409 with the error code payg_required. The response includes
operationId; read
GET /platform/operations/{operationId} until its status is succeeded, failed,
cancelled, or action_required.
If the status is action_required, use the approval endpoint after resolving
the reported requirement. You can cancel an active enrollment; cancellation
removes provisioned resources before the operation reaches cancelled.
Use separate projects when you need isolated sessions, project credentials,
webhooks, or integration settings. A project token is bound to one project and
cannot authorize access to another project’s resources.
Personal notification settings
Open the sidebar notification bell to browse your Inbox and Archive. Scroll within either list to see more notifications. Select Settings in the panel to open My Notifications for the selected team. Mark all read clears unread indicators; Archive all moves your inbox notifications to the archive. Wait for an action to finish before starting another. If an action fails, an error notification appears so you can retry. Use the close button on a toast to dismiss it. When several toasts are open, select Dismiss all to clear them. Open Team settings > My Notifications to choose how activity from the active team reaches you. In-app notifications remain enabled. For email, select a default verified inbox, choose the notification types that send email, and add a custom route for any project that needs a different inbox. Changes save as you make them and apply only to your membership in that team. Manage your verified addresses under Account settings. Project routing is available only for projects in the active team. Enable Balance warnings to receive team-wide email alerts one day and two hours before forecast credit insufficiency. The Billing page shows the forecast and automatic top-up controls. Monthly bonus unlocked emails you when the team reaches a higher monthly bonus tier; it is on by default. Email switches are grouped by what raises them. Invitation and verification emails are required and have no opt-out switch:
New sign-in belongs to your account rather than to a team. Changing it on
any team’s page changes it for every team.
Member-join notices reach the team’s members. Role-change notices reach the
member whose role changed. Campaign failure and completion notices refer to a
campaign’s final state; pausing a campaign does not raise either notice.
Function deployment failures refer to failed Function builds. These alerts do
not grant access to Functions.
API key first use reports the first verified use of a newly issued team or
project key. Keys issued before this alert was introduced do not create a
historical first-use notice. A verified credential does not prove that its
request completed successfully. To turn off first-use email, open My
Notifications and turn off API key first use. This security email links to
notification settings and has no one-click unsubscribe link.
Scheduled maintenance notices include the announced maintenance window. A notice
that has not been sent before that window ends is not emailed afterward.
Unsubscribe from a notification email
Optional notification emails, except API key first-use emails, end with an Unsubscribe from these emails link. Opening the link shows which notification type and team it applies to; nothing changes until you select Turn off these emails. Email for that one type then stops for that team only. In-app notifications and your other email choices stay as they are. Mail apps that offer their own unsubscribe button send the same request. To receive those emails again, turn the type back on in My Notifications. Sign-in codes, invitations, deletion codes and security alerts have no unsubscribe link. An unsubscribe link expires one year after the email was sent and stops working if you leave the team.Delete a team
Only a team owner can delete a team. Your account must belong to at least one other team before you can delete a team. Any owner can cancel deletion within 24 hours of confirmation. Deletion starts after that deadline once nothing blocks it, including a payment still processing. Open Team settings, select General, and then select Delete Team. You can also select Delete Team from a team’s menu under Account settings > Teams. Before you confirm, the Console shows:- every number the team still has, with its project
- the team’s remaining credit balance, which is lost when the team is deleted. Credits are not refunded or moved to another team.
- anything that must be resolved first, such as an active subscription or a payment that is still processing
- Type the team name exactly as shown.
- Select Email me a code and enter the six-digit code sent to your account email address. If authenticator two-factor authentication is enabled for your account, also enter a current code from your authenticator app.
- Select Schedule deletion within 5 minutes of confirming your identity.
While deletion is scheduled
The team stays visible to its members, with a banner that shows the cancellation deadline. The team is read-only:- Requests that change the team, such as sending messages, creating API keys,
launching campaigns, or buying credits, return
409with the error codeteam_deletion_scheduled. This applies to API keys, project tokens, and the Console. Reading data keeps working. - Running campaigns stop sending and keep their progress.
- Automatic top-ups do not run.
- Numbers stay connected and keep receiving messages, and webhooks keep delivering events. You do not need to pair numbers again if you cancel. Recurring number charges continue during this time.
What happens at the deadline
The cancellation deadline is 24 hours after confirmation. After that deadline, deletion cannot be cancelled, even if a payment is still processing. Deletion starts automatically once nothing blocks it. The team stays read-only while it waits. When deletion starts, the team no longer appears for any member, including owners. Links to its Console pages open another team you belong to, and its API keys and project tokens are rejected as invalid credentials. The team then deletes each of its numbers the same way a single number is deleted: the number is disconnected, its WhatsApp login and Cloud API connection are removed, and its hosted message history and Cloud API service-window and pricing records are erased. Campaigns are cancelled and webhook delivery is turned off. The team and its member access are removed after every number has been cleaned up. Deleting a Cloud API number in Polymorfa does not delete the number or WhatsApp Business Account at Meta. Billing records and the team’s audit log are kept. If you need help with a deletion that has started, contact support. If Polymorfa deletes a team, for example at your request through support, the deletion starts at once, without the 24-hour window, and cannot be cancelled.Manage projects through the API
Use an team key to list projects, create a project, or request production enrollment. The API also lets you read your team and its members. See project and team methods for request fields and required scopes. Change team settings, invite members, and manage member roles in the console with your signed-in account.Where to go next
API keys
Choose an team key or project token.
Sessions
Manage real and testing sessions.
Billing
Review billing modes, number tiers, credits, and add-ons.
Notification delivery
Choose a team inbox and route individual projects.
Teams and accounts
Inspect public team and project operations.