FYInbox docs
Quickstart
Send one structured notification to your personal inbox with a source API key and a single HTTP request.
Before you start
- Create a source in the dashboard and copy its API key when it is shown. The secret is displayed once.
- Set NOTIFICATIONS_URL to the dashboard origin and NOTIFICATIONS_API_KEY to that source key.
- Keep the key on the server or in a secret store. Never embed it in browser code, a public repository, or a notification payload.
Send the notification
#!/usr/bin/env bash
set -euo pipefail
: "${NOTIFICATIONS_URL:?Set NOTIFICATIONS_URL to your FYInbox origin}"
: "${NOTIFICATIONS_API_KEY:?Set NOTIFICATIONS_API_KEY to a source API key}"
curl --fail-with-body --silent --show-error \
--request POST \
--url "${NOTIFICATIONS_URL%/}/api/v1/notifications" \
--header "Authorization: Bearer $NOTIFICATIONS_API_KEY" \
--header "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"title": "Deployment finished",
"body": "billing-api is healthy in production.",
"severity": "success",
"tags": ["production", "deploy"],
"source": "billing-api",
"externalId": "deploy-abc123",
"deduplicationKey": "deploy:billing-api:abc123",
"metadata": {
"environment": "production",
"commit": "abc123"
},
"actions": [
{
"id": "open-deploy",
"type": "link",
"label": "Open deployment",
"href": "https://example.com/deployments/abc123",
"style": "primary"
}
]
}
JSON
Read the response
A new notification returns HTTP 201 with { id, created: true }. A deduplicated retry returns HTTP 200 with the same id and created: false. The notification is then available in the authenticated inbox.