npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@justonemonkey/n8n-nodes-polar-sh

v1.1.0

Published

n8n community node to manage Polar.sh (checkouts, orders, subscriptions, customers, benefits and more) directly from n8n workflows.

Downloads

251

Readme

Banner image

n8n-nodes-polar-sh

This is an n8n community node package. It lets you manage Polar.sh — checkouts, checkout links, customers, orders, subscriptions, and refunds — directly from n8n workflows, and react to Polar webhook events with a dedicated trigger node.

n8n is a fair-code licensed workflow automation platform.

Installation Nodes Credentials Local development & testing Compatibility Resources

Installation

Follow the installation guide in the n8n community nodes documentation, and install @justonemonkey/n8n-nodes-polar-sh.

Nodes

Polar

Resource + Operation node covering:

  • Benefit — Get Many, Get, Create, Update, Delete, Get Files, Get Grants
  • Benefit Grant — Get Many
  • Checkout — Get Many, Get, Create, Update
  • Checkout Link — Get Many, Get, Create, Update, Delete
  • Custom Field — Create, Delete, Get, Get Many, Update — org-defined extra data fields (text/number/date/checkbox/select) collected on checkout
  • Customer — Get Many, Get, Get by External ID, Create, Update, Update by External ID, Delete, Delete by External ID, Get State, Get State by External ID, Get Payment Methods, Get Payment Methods by External ID, Export (CSV file)
  • Customer Meter — Get Many, Get
  • Customer Seat — Assign Seat, Claim Seat, Get Claim Info, Get Many, Resend Invitation, Revoke Seat — assign, revoke, and manage seat-based subscription/order member seats; Get Claim Info and Claim Seat require no Polar authentication (they're for the invited person's own client)
  • Customer Session — Create — generate a one-time customer portal access token
  • Discount — Get Many, Get, Create, Update, Delete
  • Dispute — Accept, Get, Get Many — payment disputes/chargebacks; Accept concedes a dispute (irreversible)
  • Event — Get Many, Get, Ingest, List Names
  • Event Type — Get Many, Update
  • File — Complete Upload, Create, Delete, Get Many, Update — declarative primitives for Polar's S3 multipart file upload flow (Create returns presigned upload URLs; actually PUTing file bytes to S3 is done in your own workflow, e.g. with an HTTP Request node, before calling Complete Upload)
  • License Key — Activate, Deactivate, Get, Get Activation, Get Many, Rotate, Update, Validate — license-gated software activation and validation
  • Member — Create, Create for External Customer, Delete, Delete by External ID, Get, Get by External ID, Get Many, Get Many for External Customer, Update, Update by External ID — manage individual people within a B2B customer (requires the organization's member-management feature). Every operation is scoped to a customer, by Polar ID or by your external ID.
  • Meter — Create, Get, Get Many, Get Quantities, Update
  • Metric — Get, Export (CSV file), Get Limits — revenue/order/subscription analytics over a date range and interval
  • Metric Dashboard — Create, Delete, Get, Get Many, Update — custom metrics dashboards shown in the Polar app
  • Order — Get Many, Get, Create, Update, Finalize, Generate Invoice, Get Invoice, Get Receipt, Export (CSV file)
  • Organization — Get, Get Many, Update — your token's organization (Get Many is the easy way to find its ID); Update covers the public profile and defaults (name, avatar, support email, website, country, presentment currency, tax behavior)
  • Payment — Get Many, Get — read-only view of payments (payments:read only; no create/update/delete exists in the API)
  • Product — Get Many, Get, Create, Update, Update Benefits, Delete (unused products only)
  • Refund — Get Many, Create
  • Subscription — Get Many, Get, Create, Update, Update Seats, Update Billing Period, Cancel, Revoke, Pause, Resume, Clear Pending Update, Export (CSV file)
  • Webhook Delivery — Get Many, Redeliver — delivery history for webhook events, and scheduling redelivery of a specific event
  • Webhook Endpoint — Create, Delete, Get, Get Many, Reset Secret, Update — manage webhook subscriptions (URL, payload format, subscribed event types). Reset Secret immediately invalidates the previous signing secret.

Upgrading to 1.1

  • Organization Access Token resource removed — Polar no longer exposes these endpoints in its API; manage tokens from the Polar dashboard.
  • Member operations now require the customer (by ID, or by external ID for the "External" variants). Re-open existing Member nodes and fill in the Customer ID; the old Get Many filters (Customer ID / External Customer ID) are gone.
  • Legacy Get by External ID now requires the External Customer ID (customer and member are both identified by external IDs); its old Customer ID / External Customer ID filters were removed.

Polar Customer Portal

A separate node for Polar's Customer Portal API: it acts on behalf of one customer, the way your own customer-facing app would (self-service billing, support bots, "cancel my subscription" flows). It does not use the Polar API credential — these endpoints only accept a short-lived customer (or member) session token:

  1. In a Polar node, run Customer Session → Create for the customer.
  2. In the Polar Customer Portal node, pick the same Environment and put the returned token in Customer Session Token (with an expression).

Resources:

  • Benefit Grant — Get, Get Many, Update (connect the Discord / GitHub account or Slack email a benefit is delivered to)
  • Customer — Get, Update (billing name/address, tax ID, default payment method), Request Email Change, Check Email Change Token, Verify Email Change
  • Customer Meter — Get, Get Many — the customer's usage and balance per meter
  • Downloadable — Get Many — files the customer can download, with download URLs
  • License Key — Get, Get Many, Rotate, Activate, Deactivate, Validate
  • Member — Add, Get Many, Update, Remove — the customer's team (B2B; needs a member session of an owner or billing manager)
  • Order — Get, Get Many, Update (billing details), Generate Invoice, Get Invoice, Get Receipt, Get Payment Status, Confirm Retry Payment
  • Organization — Get — public portal info and products by organization slug
  • Payment Method — Add, Confirm, Delete, Get Many (Add/Confirm take Stripe confirmation token / setup intent IDs from your front end)
  • Seat — Assign, Get Many, Get Claimed Subscriptions, Resend Invitation, Revoke
  • Session — Get User, Introspect (who the token belongs to, when it expires)
  • Subscription — Get, Get Many, Cancel, Update Cancellation (cancel at period end with a reason, or undo it), Change Product, Update Seats, Update Units, Pause, Resume, Clear Pending Update
  • Wallet — Get, Get Many

License Key Activate/Deactivate/Validate, Organization Get and Customer Check/Verify Email Change are public — leave the token empty for those.

Polar Trigger

A webhook trigger node for all 42 of Polar's webhook event types (checkout.*, customer.*, customer_seat.*, member.*, subscription.*, order.*, refund.*, benefit_grant.*, benefit.*, product.*, discount.*, organization.updated). You create the webhook endpoint by hand in the Polar dashboard, pointing it at this node's webhook URL, and paste the generated signing secret into the node. Signatures are verified against the Standard Webhooks spec.

By default the node listens for a single event type. Turn on Allow Multiple Events (mirrors n8n's core Webhook node's "Allow Multiple HTTP Methods" setting) to select several event types at once — the node then exposes one output per selected event, in the order selected, and routes each incoming webhook to the output matching its type.

The webhook Path field is empty by default, in which case the node's URL ends in its own automatically-generated unique ID (the same behavior as n8n's core Webhook node) — no two Polar Trigger nodes ever collide on the same URL. Set your own value only if you need a specific, predictable path. If you activate a workflow, change the Path, and reactivate, update the corresponding endpoint URL in the Polar dashboard to match.

Credentials

This node uses a Polar API credential:

  1. In Polar, go to your organization's Settings → API Keys (or the Sandbox equivalent at sandbox.polar.sh for testing) and create an Organization Access Token.
  2. In n8n, create a new Polar API credential, choose Environment (Production or Sandbox), and paste the token into Access Token.

Local development & testing

  1. Clone the repo and install dependencies:

    npm install
  2. Start n8n with the node loaded and hot-reloading:

    npm run dev

    This opens n8n at http://localhost:5678.

  3. Create a Polar API credential using a Sandbox organization access token (sign up/create a sandbox org at sandbox.polar.sh — it's a fully separate environment from production, safe to test destructive operations against).

  4. Exercise every Polar node operation against Sandbox data before pushing — each task in the implementation plan (docs/superpowers/plans/2026-08-18-polar-node-lot1a-foundation.md) lists the specific operations to click through for that resource.

  5. To test the Polar Trigger node, npm run dev only serves n8n on localhost, which Polar's servers can't reach. Expose it publicly first, then register a Sandbox webhook endpoint against the tunnel URL:

    npm run dev -- --tunnel

    (or run npm run dev in one terminal and ngrok http 5678 in another, and use the ngrok URL). Copy the webhook URL n8n shows on the Polar Trigger node, create a matching endpoint in the Sandbox dashboard's Webhooks settings, select the events you want to test, and paste the generated secret into the node's Webhook Secret field. Trigger a real Sandbox event (e.g. run the Polar node's Checkout → Create) and confirm the workflow fires.

  6. Before pushing, both of these must pass:

    npm run lint
    npm run build

Compatibility

Requires n8n with the community nodes API version 1 (n8nNodesApiVersion: 1). Built and tested against Node.js v22+.

Every field and endpoint in this package is grounded against Polar's live OpenAPI spec (https://polar.sh/docs/openapi.yaml), last verified 2026-08-20. Polar's API is versionless (everything lives under /v1/, evolving continuously) rather than pinned to discrete release numbers, so a verification date is the meaningful compatibility marker here, not a version string.

Resources