canonical: https://jentic.com/apis/googleapis.com/identity-toolkit

# Google Identity Toolkit API

The Google Identity Toolkit API v3 is the relying-party endpoint set used by Firebase Authentication and the legacy Identity Toolkit product to manage user accounts and federated sign-in. It exposes operations for creating, retrieving, updating, and deleting accounts, sending email verification and password-reset codes, exchanging credentials for ID tokens, signing users up and in with email and password, and uploading or downloading bulk account data. Newer Firebase Auth deployments use the Identity Toolkit v2 surface; v3 remains the system of record for many existing apps and toolchains.

## For AI agents

Manage user accounts and federated sign-in for Firebase Authentication / legacy Identity Toolkit: create accounts, reset passwords, verify email, exchange credentials, and bulk import.

## Scope

Does not handle authorisation, IAM roles, or app-side session storage - use for Firebase Authentication / Identity Toolkit account creation, sign-in, and account migration only.

## Capabilities

- Create user accounts with email/password and assign initial profile fields
- Issue email-verification, password-reset, and email-link sign-in confirmation codes
- Sign users in via email and password and exchange for an ID token and refresh token
- Look up account info by email or local ID and update profile or password
- Bulk download and upload accounts to migrate users in or out of Firebase Authentication
- Manage federated sign-in by creating sign-in URIs for IDPs and verifying the assertion

## Use cases

### Email-and-Password Sign-In for Web Apps

Web and mobile apps that use Firebase Authentication call the Identity Toolkit endpoints to sign users up and in with email and password, send verification emails, and reset forgotten passwords. /signupNewUser creates the account, /verifyPassword exchanges credentials for tokens, /getOobConfirmationCode generates the email link, and /resetPassword completes the reset flow. The API issues short-lived ID tokens that the app uses for authenticated API calls.

Example prompt: Call POST /signupNewUser with email user@example.com and password Tr0ub4d0r! and returnSecureToken true, and return the issued idToken and refreshToken.

### Account Migration into Firebase

Teams migrating from a legacy auth system to Firebase Authentication use /uploadAccount to bulk-import accounts with their existing password hashes (scrypt, bcrypt, HMAC SHA variants), so users can sign in with their existing passwords on day one. /downloadAccount supports the reverse direction or backups. Both endpoints page through the user database in batches.

Example prompt: Bulk-import the supplied list of 100 users (email, hashed password, salt) via POST /uploadAccount with hashAlgorithm STANDARD_SCRYPT, and report how many were created versus skipped.

### Email-Verification Workflow

Apps issue an email-verification link by calling /getOobConfirmationCode with VERIFY_EMAIL request type, then handle the user clicking the link by calling /setAccountInfo to flip emailVerified true. The API also supports the email-link sign-in flow via /emailLinkSignin for passwordless onboarding.

Example prompt: Send a verification email to user@example.com by calling /getOobConfirmationCode with requestType VERIFY_EMAIL and idToken set to the user's current token, and return the emailVerificationLink response.

### AI Agent User Management Operations

An AI agent acting as a tier-2 support tool uses Jentic to look up users by email, force a password reset, or unlock an account on the Identity Toolkit API. Jentic isolates the Firebase admin credential so the agent never holds raw service-account JSON, and per-action policy limits which operations the agent can run.

Example prompt: Look up the user with email forgot@example.com via /getAccountInfo, then call /getOobConfirmationCode with requestType PASSWORD_RESET to send them a reset link, and return the oobLink.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /signupNewUser | Create a new user account with email and password |
| POST | /verifyPassword | Sign in a user with email and password |
| POST | /getAccountInfo | Look up account info by email or localId |
| POST | /setAccountInfo | Update account fields including password and emailVerified |
| POST | /getOobConfirmationCode | Issue an out-of-band code for email verification, password reset, or email-link sign-in |
| POST | /resetPassword | Complete a password reset with an out-of-band code |
| POST | /deleteAccount | Delete a user account |
| POST | /downloadAccount | Bulk download accounts |

## Key resources

- **Accounts** — Create, look up, update, and delete user accounts (signupNewUser, getAccountInfo, setAccountInfo, deleteAccount)
- **Sessions** — Sign in users and exchange credentials for ID and refresh tokens (verifyPassword, verifyAssertion, emailLinkSignin)
- **OOB codes** — Issue email-verification, password-reset, and email-link confirmation codes (getOobConfirmationCode, resetPassword)
- **Bulk accounts** — Upload and download accounts for migration (uploadAccount, downloadAccount)

## Why Jentic

- **Setup:** Wiring the Google Identity Toolkit API by hand means configuring Firebase admin OAuth2, refreshing tokens, and learning its unusual /relyingparty request shapes yourself. Through Jentic you install once, import the Google Identity Toolkit API from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** Identity Toolkit passes the account target in the request body rather than a resource in the URL path, so scope the agent to the operations it needs, such as signing up a user or sending a password-reset code. You choose the allowed set, so if you grant only getAccountInfo and getOobConfirmationCode the agent can look up and email users without ever deleting an account.
- **Credential handling:** Your Firebase Authentication admin credential is stored once, encrypted, by your own Jentic One instance and injected at execution time as a short-lived access token. The service-account JSON never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send password reset email' or 'sign up a firebase user', and Jentic returns the matching v3 operation with its input schema so the agent calls the right endpoint without browsing the /relyingparty docs.

## Related APIs

- **Firebase Management API** — Manages Firebase projects whose Authentication tenants Identity Toolkit serves.
- **Identity and Access Management (IAM) API** — IAM controls who can call Identity Toolkit admin endpoints; Identity Toolkit manages end-user accounts.
- **IAM Service Account Credentials API** — Mints short-lived tokens for the service account that calls Identity Toolkit admin endpoints.

## FAQ

### What authentication does the Identity Toolkit API use?

Google OAuth 2.0 with the cloud-platform / firebase scopes for admin endpoints, and the user's own ID token for self-service endpoints. Bulk import/export and account lookups require a service-account credential. Through Jentic the credentials live encrypted in the vault.

### Can I bulk-import users with existing password hashes?

Yes. POST /uploadAccount accepts batches of users with hashAlgorithm set to STANDARD_SCRYPT, BCRYPT, HMAC_SHA1, HMAC_SHA256, or other supported variants, plus signerKey and saltSeparator where required. Users can sign in with their original passwords after import.

### What are the rate limits for the Identity Toolkit API?

Google enforces per-project quotas on Firebase Authentication operations (default thousands of QPS for sign-in, lower for /uploadAccount and /downloadAccount). Email-sending endpoints (/getOobConfirmationCode) have separate sender quotas to prevent abuse.

### How do I send a password-reset email through Jentic?

Search Jentic with 'send password reset email firebase', load the POST /getOobConfirmationCode operation, and execute with email set to the user's address and requestType PASSWORD_RESET. Jentic returns the oobLink and Firebase sends the email on the project's behalf.

### Should I use Identity Toolkit v3 or the newer Firebase Auth v2 surface?

v3 (this API) is the long-standing relying-party surface still used by many SDKs; the newer Identity Toolkit v2 surface (identitytoolkit.googleapis.com/v2/) covers tenant-aware Firebase Auth with Identity Platform features (MFA, SAML/OIDC). Pick v3 for legacy and v2 for new tenant-aware deployments.

### Can I limit what my agent is allowed to do with the Google Identity Toolkit API?

Yes. Because you run Jentic One yourself, your own rules decide which Identity Toolkit operations and which Firebase admin credential the agent may use. Since this API passes the account target in the request body rather than the URL path, you scope the agent to just the operations it needs: grant only getAccountInfo and getOobConfirmationCode and it can look up users and send password-reset or verification emails without ever calling deleteAccount, setAccountInfo, or uploadAccount. You choose the allowed set, and any operation you have not permitted is simply unavailable to the agent.
