canonical: https://jentic.com/apis/javatpoint.com/javatpoint

# Javatpoint Firebase Cloud Messaging API

This catalogue entry covers the Firebase Cloud Messaging (FCM) v1 send API, the Google service that delivers push notifications and data messages to Android, iOS, and web clients. The single send endpoint accepts a structured Message resource containing platform-specific payloads, targeting (token, topic, or condition), and notification or data fields. Authentication uses OAuth 2.0 service account credentials scoped to the messaging.send permission.

## For AI agents

Send push notifications and data messages to Android, iOS, and web clients via the Firebase Cloud Messaging v1 send API.

## Scope

Does not handle device registration, topic subscription management, or in-app messaging - use for FCM message dispatch via the v1 send endpoint only.

## Capabilities

- Send a push notification to a specific device using a registration token
- Broadcast a notification to all devices subscribed to a topic
- Target devices using boolean conditions over multiple topics
- Deliver platform-specific overrides via the Android, iOS, and Webpush configuration blocks
- Send silent data messages for client-side handling without a user-visible notification

## Use cases

### Mobile App Engagement Push

Mobile product teams send re-engagement and content notifications to their installed base via FCM. The `/v1/{parent}/messages`:send endpoint accepts a Message with a notification block plus token or topic targeting, delivering across Android and iOS in a single call. The Google service handles platform fan-out and retry semantics.

Example prompt: POST `/v1/projects/{project_id}/messages`:send with topic='news' and a notification body to broadcast a breaking-news alert

### Real-Time Data Sync via Silent Push

Apps that sync state in the background use silent FCM data messages to wake the client and trigger a fetch. The send endpoint accepts a data-only Message which is handled by the SDK without showing a notification, supporting use cases like inbox refresh, configuration push, and live ops events.

Example prompt: POST `/v1/projects/{project_id}/messages`:send with a data payload {refresh:'inbox'} to a single registration token

### Targeted Marketing Campaign

Marketing teams target subsets of users using condition expressions over multiple topics, e.g. 'TopicA && !TopicB'. The send endpoint accepts a condition string in the Message resource so a campaign can be scoped without precomputing user lists, with platform-specific overrides for Android, iOS, and Web sub-payloads.

Example prompt: POST `/v1/projects/{project_id}/messages`:send with condition="'sports' in topics && 'premium' in topics" and a campaign notification payload

### AI Agent Push Notification Send

An AI agent triggers a push when an event satisfies a rule - a price alert, a workflow completion, or an incident. Through Jentic the agent searches for 'send fcm push notification', loads the messages:send schema, and executes against FCM with the OAuth service account credentials managed in your Jentic One instance.

Example prompt: Search Jentic for 'send fcm push', execute messages:send with the user's registration token, and log the returned message name

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/{+parent}/messages:send` | Send a Message to a token, topic, or condition target |

## Key resources

- **Messages** — The single resource exposed by the v1 send endpoint, containing notification, data, and platform-specific payloads

## Why Jentic

- **Setup:** Wiring the Firebase Cloud Messaging API by hand means turning a service-account JSON key into a short-lived OAuth bearer token and formatting the v1 send payload yourself. Through Jentic you install once, import the FCM API from the API Directory, store the service-account credential once, and your agent calls it.
- **Permission scoping:** FCM puts the project parent in the URL path (`/v1/{parent}/messages`:send), so a rule can pin your agent to one project's send operation and nothing else. You choose the operations it may call, so it stays limited to dispatching messages through that project.
- **Credential handling:** Your FCM service-account credential is stored once, encrypted, by your own Jentic One instance, which mints the OAuth bearer token at execution time. The private key never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send an FCM push notification' or 'broadcast to a topic', and Jentic returns the messages:send operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **OneSignal API** — Push notification platform that wraps FCM and APNs with segmentation and analytics
- **Pushwoosh API** — Multi-channel customer engagement platform with mobile push delivery
- **Twilio API** — SMS and voice channels that complement push for users with notifications disabled
- **SendGrid API** — Transactional email channel often used as a fallback when push fails

## FAQ

### What authentication does the Firebase Cloud Messaging API use?

FCM v1 uses OAuth 2.0 with service account credentials scoped to the firebase.messaging or messaging.send permission. A short-lived access token is exchanged from the service account JSON and presented as a Bearer header. Through Jentic the service account JSON is stored in the credential vault and the bearer token is minted at request time.

### What targeting options does messages:send support?

The Message resource accepts one of three targets: a single registration token, a topic name, or a condition expression combining multiple topics with boolean operators. Platform-specific overrides for Android, iOS, and Webpush sit alongside the targeting field in the same payload.

### What are the rate limits for the FCM v1 API?

FCM enforces per-project quotas measured in messages per second; typical projects can send tens of thousands of messages per minute. Use topic broadcasts rather than per-token loops for fan-out, and respect the Retry-After header on 429 responses.

### Can I send a silent data message with this endpoint?

Yes. Send a Message with only the data field populated and no notification block. The SDK on the client device delivers the payload to the app without surfacing a system notification, allowing background sync or live-ops style updates.

### How do I send an FCM push through Jentic?

Search Jentic for 'send fcm push notification', load the POST `/v1/{`+parent}/messages:send schema, and execute with the project parent path and Message body. Jentic mints the OAuth bearer token from the stored service account so the agent only supplies the message payload.

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

Yes. Jentic One is self-hosted, so your own rules decide which operations and credentials the agent may use. Because FCM carries the project parent in the URL path (`/v1/{parent}/messages`:send), you can pin the agent to a single project's send operation and nothing else. The agent is limited to dispatching messages through that project, and its service-account credential stays under your instance rather than in the agent's context.
