canonical: https://jentic.com/apis/googleapis.com/firebase

# Google Firebase Management API

The Firebase Management API enables programmatic setup and lifecycle management of Firebase projects and the iOS, Android, and Web apps registered inside them. It exposes operations to add Firebase to an existing Google Cloud project, register apps, list available locations, fetch SDK config, and manage SHA certificate fingerprints for Android apps. Use it to automate project provisioning across environments without clicking through the Firebase console.

## For AI agents

Programmatically create Firebase projects, register iOS, Android, and Web apps, and retrieve SDK configuration so an agent can bootstrap Firebase environments end to end.

## Scope

Does not read or write Firestore data, send push notifications, or run Cloud Functions - use for managing Firebase projects and registering apps only.

## Capabilities

- Add Firebase to an existing Google Cloud project to enable Firebase services
- Register iOS, Android, and Web apps inside a Firebase project
- Retrieve runtime SDK configuration for an Android, iOS, or Web app
- Manage Android SHA certificate fingerprints used by Authentication and Dynamic Links
- Finalise a Firebase project location to enable region-pinned services like Firestore

## Use cases

### Automated Firebase Project Bootstrapping

Provision a new Firebase project, finalise its location, and register the iOS, Android, and Web apps a team needs in a single automation run. The Management API turns a process that normally involves several Firebase console screens into a deterministic script suitable for environment-per-branch workflows. Bootstrapping an end-to-end staging environment takes minutes once the script is in place.

Example prompt: Call POST /v1beta1/{+project}:addFirebase to enable Firebase on a Cloud project, then POST /v1beta1/{+parent}/androidApps with packageName=com.example.app and POST /v1beta1/{+parent}/iosApps with bundleId=com.example.app to register both clients.

### SDK Config Retrieval for CI/CD

Fetch the up-to-date SDK configuration for Firebase Android, iOS, and Web apps so build pipelines can inject google-services.json, GoogleService-Info.plist, and Web init configs at build time rather than committing them to source control. The webApps.getConfig endpoint returns the JSON config while androidApps and iosApps expose equivalent platform-specific configs.

Example prompt: Call GET /v1beta1/{+name}/config on the resource projects/PROJECT/webApps/APPID and write the returned JSON to the build artifact directory.

### Android Fingerprint Management for App Auth

Manage Android SHA-1 and SHA-256 certificate fingerprints needed by Firebase Authentication, Dynamic Links, and App Check via the projects.androidApps.sha endpoints. The API supports listing existing fingerprints, adding fingerprints from new signing keys, and removing rotated ones. This avoids ad-hoc updates in the Firebase console when signing keys change.

Example prompt: Use POST /v1beta1/{+parent}/sha to register a new SHA-256 fingerprint on the Android app projects/PROJECT/androidApps/APPID and confirm via GET /v1beta1/{+parent}/sha that it is listed.

### Agent-Driven Firebase Environment Provisioning

An AI agent connected through Jentic can stand up a complete Firebase environment in response to a single intent like create a new staging Firebase project for the launch app. Jentic loads the relevant Firebase Management endpoints, the agent strings together project enablement, app registration, and config retrieval, and the OAuth 2.0 flow is handled transparently.

Example prompt: Through Jentic, search for register a firebase android app, load the androidApps.create operation, and execute it with parent=projects/my-project and packageName=com.example.staging.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /v1beta1/projects | List Firebase projects |
| POST | /v1beta1/{+name}:remove | Remove a Firebase app from a project |
| POST | /v1beta1/{+name}:undelete | Undelete a previously removed Firebase app |
| GET | /v1beta1/{+parent}/androidApps | List Android apps under a Firebase project |
| POST | /v1beta1/{+parent}/androidApps | Register a new Android app in a Firebase project |
| GET | /v1beta1/availableProjects | List Cloud projects eligible to add Firebase |

## Key resources

- **Projects** — Add Firebase to projects, list and search projects, finalise location, and manage default settings
- **Android Apps** — Create, list, get, patch, and remove Android apps and their SHA fingerprints
- **iOS Apps** — Create, list, get, patch, and undelete iOS apps inside a Firebase project
- **Web Apps** — Create, list, get, patch, and fetch SDK config for Firebase Web apps
- **Available Projects and Locations** — Discover Cloud projects ready to add Firebase and Firebase-supported region locations

## Why Jentic

- **Setup:** Wiring the Firebase Management API by hand means learning Google OAuth 2.0 with a service account, requesting the cloud-platform or firebase scope, and tracking the async project operations yourself. Through Jentic you install once, import the Firebase Management API from the API Directory, store the service-account credential once, and your agent calls it.
- **Permission scoping:** The Firebase Management API puts the project resource in the URL path (/v1beta1/{parent}/androidApps, /v1beta1/{name}:remove), so a rule can pin your agent to one project: it can list and register apps for that project and nothing else. You choose the operations it may call, so destructive ones like app removal are not included unless you add them.
- **Credential handling:** Your Google service-account credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a Firebase project' or 'register a Firebase Android app', and Jentic returns the matching Firebase Management operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Firebase App Check API** — Protects the Firebase apps registered through this API from abuse.
- **Firebase Hosting API** — Deploys static assets and configures channels for the Web apps registered here.
- **Cloud Resource Manager API** — Manages underlying Google Cloud projects without the Firebase overlay.

## FAQ

### What authentication does the Firebase Management API use?

The API uses Google OAuth 2.0 with the firebase or cloud-platform scope. Through Jentic, OAuth credentials are stored in the encrypted vault and a scoped access token is supplied at execution time without exposing the underlying client secret.

### Can I add Firebase to an existing Google Cloud project with the Firebase Management API?

Yes. POST /v1beta1/{+project}:addFirebase enables Firebase on a Cloud project that you already own. After the long-running operation completes, the project is visible in the Firebase console and accepts further app registration calls.

### What are the rate limits for the Firebase Management API?

Google enforces the standard googleapis.com per-project quota, typically a few hundred requests per minute for management-style endpoints. Bulk app registration scripts should add backoff and respect the long-running-operation lifecycle returned by addFirebase and similar calls.

### How do I register an Android app in a Firebase project through Jentic?

Run pip install jentic, search for register a firebase android app, load the androidApps.create operation, and execute it with parent=projects/PROJECT and packageName=com.example.app. Get started with Jentic One, the self-hosted execution layer.

### Does the Firebase Management API return google-services.json or GoogleService-Info.plist?

Yes. The androidApps and iosApps resources expose getConfig endpoints that return the JSON or plist content as a base64 payload, suitable for writing into a CI build artifact for Android and iOS clients.

### Is the Firebase Management API free?

The Management API is included with Firebase at no extra charge; you pay only for the Firebase services your provisioned apps consume, such as Firestore, Authentication, or Cloud Messaging beyond their free quotas.

### Can I limit what my agent is allowed to do with the Firebase Management API?

Yes. Because you run Jentic One yourself, your own rules decide which Firebase Management operations and credentials the agent may use. Since this API puts the project resource in the URL path, such as /v1beta1/{parent}/androidApps and /v1beta1/{name}:remove, you can pin the agent to a single project so it lists and registers apps for that project and nothing else. You also choose the exact operations it can call, so destructive ones like app removal stay unavailable unless you explicitly allow them.
