Google Firebase · Schema
Firebase Cloud Messaging Message
Schema for a Firebase Cloud Messaging (FCM) HTTP v1 API send request, used to deliver push notifications and data messages to devices.
AnalyticsAuthenticationBackend-as-a-ServiceCloud MessagingGoogle CloudHostingMobileReal-Time Database
Properties
| Name | Type | Description |
|---|---|---|
| message | object | The message to send |
| validate_only | boolean | If true, the message is validated but not sent |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://firebase.google.com/schemas/fcm/message.json",
"title": "Firebase Cloud Messaging Message",
"description": "Schema for a Firebase Cloud Messaging (FCM) HTTP v1 API send request, used to deliver push notifications and data messages to devices.",
"type": "object",
"required": ["message"],
"properties": {
"message": {
"type": "object",
"description": "The message to send",
"properties": {
"token": {
"type": "string",
"description": "Registration token of the target device"
},
"topic": {
"type": "string",
"description": "Topic name to send the message to"
},
"condition": {
"type": "string",
"description": "Condition expression for targeting multiple topics"
},
"notification": {
"$ref": "#/$defs/Notification"
},
"data": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Arbitrary key-value payload delivered to the client app"
},
"android": {
"$ref": "#/$defs/AndroidConfig"
},
"webpush": {
"$ref": "#/$defs/WebpushConfig"
},
"apns": {
"$ref": "#/$defs/ApnsConfig"
}
}
},
"validate_only": {
"type": "boolean",
"description": "If true, the message is validated but not sent",
"default": false
}
},
"$defs": {
"Notification": {
"type": "object",
"description": "Basic notification template",
"properties": {
"title": {
"type": "string",
"description": "The notification title"
},
"body": {
"type": "string",
"description": "The notification body text"
},
"image": {
"type": "string",
"format": "uri",
"description": "URL of an image to display in the notification"
}
}
},
"AndroidConfig": {
"type": "object",
"description": "Android-specific message configuration",
"properties": {
"priority": {
"type": "string",
"enum": ["NORMAL", "HIGH"]
},
"ttl": {
"type": "string",
"description": "Message time-to-live as a duration string (e.g. 3600s)"
},
"collapse_key": {
"type": "string"
}
}
},
"WebpushConfig": {
"type": "object",
"description": "Web push-specific message configuration",
"properties": {
"headers": {
"type": "object",
"additionalProperties": { "type": "string" }
}
}
},
"ApnsConfig": {
"type": "object",
"description": "Apple Push Notification Service configuration",
"properties": {
"headers": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"payload": {
"type": "object",
"additionalProperties": true
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/google-firebase-fcm-message"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.