Skip to content

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

cURL
#!/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.