reqistry-dev Notifications API
FCM token management, preferences, and notification event tracking
FCM token management, preferences, and notification event tracking
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-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 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: Notifications
description: FCM token management, preferences, and notification event tracking
paths:
/v1/notifications/preferences:
get:
tags:
- Notifications
summary: Get notification preferences
security:
- bearerAuth: []
responses:
'200':
description: Preferences
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/NotificationPreferences'
operationId: getNotificationPreferences
patch:
tags:
- Notifications
summary: Update notification preferences
security:
- bearerAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationPreferences'
responses:
'200':
description: Updated preferences
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/NotificationPreferences'
operationId: updateNotificationPreferences
/v1/notifications/events:
post:
tags:
- Notifications
summary: Track notification event
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- eventType
properties:
deliveryId:
type: string
format: uuid
eventType:
type: string
enum:
- received
- opened
- dismissed
- action
apiId:
type: string
format: uuid
metadata:
type: object
responses:
'201':
description: Event recorded
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/NotificationEventAck'
operationId: trackNotificationEvent
components:
schemas:
NotificationEventAck:
type: object
required:
- id
- createdAt
properties:
id:
type: string
format: uuid
createdAt:
type: string
format: date-time
NotificationPreferences:
type: object
properties:
savedApiHealth:
type: boolean
newMatchingApis:
type: boolean
weeklyDigest:
type: boolean
lifecycleUpdates:
type: boolean
pricingChanges:
type: boolean
trustAlerts:
type: boolean
updatedAt:
type: string
format: date-time
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Anonymous device access token from POST /v1/auth/anonymous