# snap_notify

> Reference documentation for the `snap_notify` method of the Snaps API.

<SnapsAPIReference method={{"name":"snap_notify","description":"Display a\n[notification](https://docs.metamask.io/snaps/features/notifications/) in\nMetaMask or natively in the OS. Snaps can trigger a short (up to 80\ncharacters) notification message for actionable or time sensitive\ninformation. `inApp` notifications can also include an optional\n[expanded view](https://docs.metamask.io/snaps/features/notifications/#expanded-view).\nThe expanded view has a title, content, and optional footer link shown when\na user clicks on the notification.","parameters":{"kind":"union","type":"{ type: \"inApp\"; message: string } | { type: \"inApp\"; message: string; content: JSXElement; title: string; footerLink?: { href: string; text: string } | null } | { type: \"native\"; message: string }","description":"An object containing the parameters for the `snap_notify` method.","commonProperties":[{"kind":"primitive","type":"string","description":"The message to display in the notification.","name":"message","required":true}],"options":[{"kind":"object","type":"{ type: \"native\"; message: string }","description":null,"required":true,"properties":[{"kind":"primitive","type":"\"native\"","description":"The literal string \"native\" to indicate that this is a native OS\nnotification. We recommend using `inApp` instead, as native\nnotifications may be rate-limited by the operating system.","name":"type","required":true}]},{"kind":"object","type":"{ type: \"inApp\"; message: string }","description":null,"required":true,"properties":[{"kind":"primitive","type":"\"inApp\"","description":"The literal string \"inApp\" to indicate that this is an in-app\nnotification displayed in the MetaMask UI.","name":"type","required":true}]},{"kind":"object","type":"{ type: \"inApp\"; message: string; content: JSXElement; title: string; footerLink?: { href: string; text: string } | null }","description":null,"required":true,"properties":[{"kind":"primitive","type":"\"inApp\"","description":"The literal string \"inApp\" to indicate that this is an in-app\nnotification displayed in the MetaMask UI.","name":"type","required":true},{"kind":"primitive","type":"JSXElement","description":"The custom UI content to display when the notification is expanded.","name":"content","required":true},{"kind":"primitive","type":"string","description":"The title of the expanded notification.","name":"title","required":true},{"kind":"object","type":"{ href: string; text: string }","description":"An optional link to display in the footer of the expanded notification.","required":false,"properties":[{"kind":"primitive","type":"string","description":"The URL to navigate to when the link is clicked.","name":"href","required":true},{"kind":"primitive","type":"string","description":"The link text to display.","name":"text","required":true}],"name":"footerLink"}]}]},"result":{"kind":"primitive","type":"null","description":"This method does not return any data, so the result is always `null`."},"examples":[{"title":"Basic in app notification","examples":[{"name":"Manifest","language":"json","content":"{\n  \"initialPermissions\": {\n    \"snap_notify\": {}\n  }\n}\n"},{"name":"Usage","language":"ts","content":"snap.request({\n  method: 'snap_notify',\n  params: {\n    type: 'inApp',\n    message: 'This is an in-app notification',\n  },\n})\n"}]},{"title":"Expandable in app notification","examples":[{"name":"Manifest","language":"json","content":"{\n  \"initialPermissions\": {\n    \"snap_notify\": {}\n  }\n}\n"},{"name":"Usage","language":"ts","content":"snap.request({\n  method: 'snap_notify',\n  params: {\n    type: 'inApp',\n    message: 'This is an in-app notification',\n    title: 'Notification Title',\n    content: (\n      <Box>\n        <Text>This is the expanded content of the notification.</Text>\n      </Box>\n    ),\n    footerLink: {\n      href: 'https://example.com',\n      text: 'Click here for more info',\n    },\n  },\n})\n"}]},{"title":"Native notification","examples":[{"name":"Manifest","language":"json","content":"{\n  \"initialPermissions\": {\n    \"snap_notify\": {}\n  }\n}\n"},{"name":"Usage","language":"ts","content":"snap.request({\n  method: 'snap_notify',\n  params: {\n    type: 'native',\n    message: 'This is a native notification',\n  },\n})\n"}]}],"subjectTypes":["snap"],"restricted":true}}  />
