# wallet_invokeKeyring

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

<SnapsAPIReference method={{"name":"wallet_invokeKeyring","description":"Invoke a keyring method of a Snap. This calls the `onKeyringRequest` handler\nof the Snap.\n\nThe Snap must be installed and the dapp must have permission to communicate\nwith the Snap, or the request is rejected. The dapp can install the Snap and\nrequest permission to communicate with it using [`wallet_requestSnaps`](https://docs.metamask.io/snaps/reference/snaps-api/wallet_requestsnaps).","parameters":{"kind":"object","type":"{ snapId: string; request: Record<string, JSON> }","description":"The request to send to the Snap.","required":true,"properties":[{"kind":"primitive","type":"string","description":"The ID of the Snap to invoke.","name":"snapId","required":true},{"kind":"primitive","type":"Record<string, JSON>","description":"The JSON-RPC request to send to the Snap.","name":"request","required":true}]},"result":{"kind":"primitive","type":"JSON","description":"The result returned by the Snap. The structure of this result will depend on\nthe specific method that was called on the Snap, and is not defined by the\nAPI."},"subjectTypes":["snap","website"],"examples":[],"restricted":false}}  />
