Skip to main content
Use MiniKit.getPermissions() to read the current permission state for the mini app.

Availability

  • Works natively in World App
  • Supports a custom fallback outside World App

Basic Usage

import { MiniKit } from "@worldcoin/minikit-js";
import type {
  CommandResultByVia,
  MiniAppGetPermissionsSuccessPayload,
  MiniKitGetPermissionsOptions,
} from "@worldcoin/minikit-js/commands";

export async function getPermissions() {
  const input = {} satisfies MiniKitGetPermissionsOptions;

  const result: CommandResultByVia<
    MiniAppGetPermissionsSuccessPayload,
    MiniAppGetPermissionsSuccessPayload,
    "minikit"
  > = await MiniKit.getPermissions(input);

  console.log(result.data.permissions);
}

Result

type GetPermissionsResponse =
  | {
      executedWith: "minikit";
      data: {
        status: "success";
        version: number;
        permissions: {
          notifications?: any;
          contacts?: any;
          microphone?: any;
        };
        timestamp: string;
      };
    }
  | {
      executedWith: "fallback";
      data: unknown;
    };

Fallback Behavior

Use a custom fallback if you want equivalent permission behavior outside World App.

Error Codes

CodeMeaning
generic_errorUnexpected failure