The developer docs are written in English and Spanish. You are reading the English version.
Accounts and teams
Games, earnings and payouts belong to a developer account: your own, or a studio you were invited to. An account can have several members, each with a role that decides what they can do. You can have one account of your own and be a member of any number of others.
Account types
When you create the account (developer portal → accept the developer terms) and later in Settings, you pick its type. The type decides which tax details the payouts need:
| Type | For | Tax details |
|---|---|---|
| Individual | A person publishing on their own | Legal name, country, tax id (where the country requires one) and address |
| Business | A company or studio | Company legal name, trade name, country, registration number, tax id / VAT, billing address and billing email |
The form checks the tax id against the format of the country you choose:
| Country | Tax id | Check |
|---|---|---|
| Argentina | CUIT/CUIL, e.g. 20-12345678-6 | Required, 11 digits with a valid check digit |
| United States | EIN (business) or SSN/ITIN (individual) | 9 digits |
| Brazil | CNPJ (business) or CPF (individual) | 14 or 11 digits |
| Mexico | RFC, e.g. XAXX010101000 | 12 or 13 characters |
| Chile | RUT, e.g. 12.345.678-5 | Valid check digit (0-9 or K) |
| Uruguay | RUT | 12 digits |
| United Kingdom (business) | VAT, e.g. GB123456789 | Starts with GB |
| European Union (business) | VAT with the country prefix, e.g. DE123456789 (Greece: EL) | Starts with the prefix |
Dots, dashes and spaces are ignored. In any other country only the generic fields are required and the tax id is not checked. Only owners and the finance role see or change the type, the tax details and the payout method.
Members and roles
An account can have several owners and always keeps at least one. The roles:
| What | Owner | Admin | Developer | Finance |
|---|---|---|---|---|
| See games, versions, autotest reports and previews | ✓ | ✓ | ✓ | – |
| Create and edit games, upload versions, submit for review | ✓ | ✓ | ✓ | – |
| Game stats (plays, players, ads) | ✓ | ✓ | ✓ | – |
| Earnings and payout history | ✓ | ✓ | – | ✓ |
| Payout method, tax details and account type | ✓ | – | – | ✓ |
| Account name | ✓ | ✓ | – | – |
| See the members | ✓ | ✓ | ✓ | ✓ |
| Invite, remove members and change roles | ✓ | ✓ (never owners) | – | – |
| Activity log | ✓ | ✓ | – | – |
| Own API keys for the account | ✓ | ✓ | ✓ | ✓ |
| Grant the owner role, transfer ownership, delete the account | ✓ | – | – | – |
Any member can leave an account (developer portal → Team → Leave), except its last owner. An owner can transfer ownership to another member (they become owner, the old owner becomes admin) and delete the account once it has no games and no balance left.
Invites
Owners and admins invite people from Team, by email and role:
- The page shows the invite link once: send it to them.
- They open it and sign in with the Google account of that email; any other account is refused. A pending invite also applies on its own the next time that Google account signs in.
- A new invite for the same email replaces the pending one. Invites expire (the date is shown) and can be revoked while pending.
- Only owners can invite someone as owner.
Pending invites also show in gamealia accounts and gamealia_accounts; accept them there or in the portal.
Switching accounts
When you belong to several accounts, the developer portal shows an account switcher at the top: everything you see and do (games, stats, earnings, team, settings) is for the selected account, and the browser remembers the choice. The menu only shows what your role allows.
API keys
An API key is bound to you and one account. The CLI, the MCP server and CI scripts act on that account only, with your role in it, checked on every call: a role change applies right away, and removing a member revokes their keys for that account. An action your role does not allow fails with role-forbidden; the CLI and the MCP say which roles can do it, so ask an owner or admin.
Create keys in AI and API keys (they are for the account selected in the switcher), or sign in from the terminal:
gamealia accounts # your accounts, your role in each (* = current), invites
gamealia accounts switch "Pixel Studio" # by name or id: uses its stored key, or opens a sign-in
gamealia login --account <account-id> # a key for that account
gamealia accounts accept <invite-id> # accept a pending invite
The CLI keeps one key per account in ~/.config/gamealia/credentials.json and remembers the current one. GAMEALIA_API_KEY overrides it, and is bound to its own account. See the CLI.
AI assistants use the MCP tool gamealia_accounts: {action: "list"} shows the accounts and the active one, {action: "switch", account} changes it (with a stored key, or a sign-in you approve in the browser). When you belong to several accounts, every result names the active one, and the assistant should confirm it with you before publishing. See Publish with AI.
Activity log
Owners and admins see who did what in Activity log: account and billing changes, invites, joins, role changes and removals, ownership transfers, games created or deleted, versions submitted, approved or rejected, payouts, revenue share changes and API keys created or revoked.