reqistry-dev Push Notifications API
FCM token management for push notifications
FCM token management for push notifications
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/reqistry-dev:reqistry-dev-push-notifications-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
openapi: 3.2.0
info:
title: Public APIs — Mobile Client Push Notifications API
description: 'API reference for the Public APIs Flutter mobile app. Includes anonymous device auth, email/password account linking, profile management, bookmarks, folders, discovery, categories, search, and legacy JSON endpoints.
## Authentication
Bearer-protected endpoints require:
```
Authorization: Bearer
```
Tokens are obtained via `POST /v1/auth/anonymous` or `POST /v1/auth/login-email`.
Public endpoints (no token required): `POST /submit`, `POST /v1/apis` (auth optional, enables submission attribution), `POST /v1/auth/anonymous`, `POST /v1/auth/refresh`, `POST /v1/auth/revoke`, `POST /v1/auth/login-email`, `GET /v1/recently-added`, `GET /v1/recommend` (auth optional, personalizes with bookmarks), `GET /v1/apis/{slug}`, `GET /v1/apis/{id}/alternatives`, `GET /v1/trust-scores/{id}`, `GET /v1/apis/compare`, `GET /v1/change-feed`, `GET /v1/use-case-collections`, categories (unversioned and `/v1` aliases), `GET /search`, `GET /metadata`, `POST /track`, and `POST /admin/v1/contact-messages`. Every other `/v1/*` operation requires a Bearer token.
## Account Types
- **Anonymous**: Device-only, no email. Data tied to device fingerprint.
- **Email-linked**: Has email + password. Can login from any device. Data merges on link.
## Token Lifecycle
- **Access token**: 15 minutes, used for API requests
- **Refresh token**: 30 days, used to rotate access tokens
- Refreshing a token invalidates the old one (single-use rotation)
- Revoking deactivates all tokens for a device'
version: 1.0.0
contact:
name: Public APIs
url: '---'
servers:
- url: http://localhost:4000
description: Local development
- url: '---'
description: Production
tags:
- name: Push Notifications
description: FCM token management for push notifications
paths:
/v1/fcm-tokens:
get:
tags:
- Push Notifications
summary: List my FCM tokens
description: Returns all registered FCM push notification tokens for the current device.
operationId: listFcmTokens
security:
- bearerAuth: []
responses:
'200':
description: FCM tokens list
content:
application/json:
schema:
$ref: '#/components/schemas/FcmTokensResponse'
'401':
description: Access token required
post:
tags:
- Push Notifications
summary: Register FCM token
description: Register or update a Firebase Cloud Messaging token for push notifications. If the token already exists, updates lastUsedAt.
operationId: registerFcmToken
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterFcmTokenRequest'
responses:
'200':
description: Token registered
content:
application/json:
schema:
$ref: '#/components/schemas/FcmTokenResponse'
'400':
description: Validation error
'401':
description: Access token required
delete:
tags:
- Push Notifications
summary: Revoke FCM token
description: Deactivate an FCM token so it no longer receives push notifications.
operationId: revokeFcmToken
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RevokeFcmTokenRequest'
responses:
'200':
description: Token revoked
content:
application/json:
schema:
$ref: '#/components/schemas/RevokeResponse'
'401':
description: Access token required
components:
schemas:
RevokeResponse:
type: object
properties:
success:
type: boolean
example: true
FcmTokenItem:
type: object
properties:
id:
type: string
format: uuid
token:
type: string
platform:
type: string
appVersion:
type: string
nullable: true
isActive:
type: boolean
lastUsedAt:
type: string
format: date-time
nullable: true
createdAt:
type: string
format: date-time
RegisterFcmTokenRequest:
type: object
required:
- token
- platform
properties:
token:
type: string
description: FCM device token from Firebase
platform:
type: string
enum:
- ios
- android
- web
description: Device platform
appVersion:
type: string
description: App version string
FcmTokenResponse:
type: object
properties:
success:
type: boolean
example: true
id:
type: string
format: uuid
FcmTokensResponse:
type: object
properties:
tokens:
type: array
items:
$ref: '#/components/schemas/FcmTokenItem'
RevokeFcmTokenRequest:
type: object
required:
- token
properties:
token:
type: string
description: FCM token to revoke
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Anonymous device access token from POST /v1/auth/anonymous