Polar integrationPolar logo

Polar integration for AI agents.

Polar integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves Polar tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.

What your agents can do

Real Polar actions, managed and audited.

Your user connects Polar once; your agent can then turn your software into a business with Polar. Sell digital products, subscriptions, and more without the hassle of traditional payment systems — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.

  1. 1

    Your user grants Polar access once (OAuth) — the token lands in the vault.

  2. 2

    Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.

  3. 3

    Every routed call appends a hash-chained audit record — nothing leaves your infra.

Tools & triggers

Supported Polar tools.

174 tools are generated from the published Polar catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.

Showing 174 tools. All published catalog entries are included in this page's server-rendered HTML.

List Benefit Grants
List benefit grants across all benefits accessible to the authenticated subject. **Scopes**: `benefits:read` `benefits:write`
benefit-grantspublic
Create Benefit
Create a benefit. **Scopes**: `benefits:write`
benefitspublic
Delete Benefit
Delete a benefit. > [!WARNING] > Every grants associated with the benefit will be revoked. > Users will lose access to the benefit. **Scopes**: `benefits:write`
benefitspublic
Get Benefit
Get a benefit by ID. **Scopes**: `benefits:read` `benefits:write`
benefitspublic
List Benefit Grants
List the individual grants for a benefit. It's especially useful to check if a user has been granted a benefit. **Scopes**: `benefits:read` `benefits:write`
benefitspublic
List Benefits
List benefits. **Scopes**: `benefits:read` `benefits:write`
benefitspublic
Update Benefit
Update a benefit. **Scopes**: `benefits:write`
benefitspublic
Create Checkout Link
Create a checkout link. **Scopes**: `checkout_links:write`
checkout-linkspublic
Delete Checkout Link
Delete a checkout link. **Scopes**: `checkout_links:write`
checkout-linkspublic
Get Checkout Link
Get a checkout link by ID. **Scopes**: `checkout_links:read` `checkout_links:write`
checkout-linkspublic
List Checkout Links
List checkout links. **Scopes**: `checkout_links:read` `checkout_links:write`
checkout-linkspublic
Update Checkout Link
Update a checkout link. **Scopes**: `checkout_links:write`
checkout-linkspublic
Create Checkout Session
Create a checkout session. **Scopes**: `checkouts:write`
checkoutspublic
Get Checkout Session
Get a checkout session by ID. **Scopes**: `checkouts:read` `checkouts:write`
checkoutspublic
List Checkout Sessions
List checkout sessions. **Scopes**: `checkouts:read` `checkouts:write`
checkoutspublic
Update Checkout Session
Update a checkout session. **Scopes**: `checkouts:write`
checkoutspublic
Create Custom Field
Create a custom field. **Scopes**: `custom_fields:write`
custom-fieldspublic
Delete Custom Field
Delete a custom field. **Scopes**: `custom_fields:write`
custom-fieldspublic
Get Custom Field
Get a custom field by ID. **Scopes**: `custom_fields:read` `custom_fields:write`
custom-fieldspublic
List Custom Fields
List custom fields. **Scopes**: `custom_fields:read` `custom_fields:write`
custom-fieldspublic
Update Custom Field
Update a custom field. **Scopes**: `custom_fields:write`
custom-fieldspublic
Get Customer Meter
Get a customer meter by ID. **Scopes**: `customer_meters:read`
customer_meterspublic
List Customer Meters
List customer meters. **Scopes**: `customer_meters:read`
customer_meterspublic
Get Benefit Grant
Get a benefit grant by ID for the authenticated customer. **Scopes**: `customer_portal:read` `customer_portal:write`
customer_portalbenefit-grantspublic
List Benefit Grants
List benefits grants of the authenticated customer. **Scopes**: `customer_portal:read` `customer_portal:write`
customer_portalbenefit-grantspublic
Update Benefit Grant
Update a benefit grant for the authenticated customer. **Scopes**: `customer_portal:write`
customer_portalbenefit-grantspublic
Get Customer Meter
Get a meter by ID for the authenticated customer. **Scopes**: `customer_portal:read` `customer_portal:write`
customer_portalcustomer_meterspublic
List Meters
List meters of the authenticated customer. **Scopes**: `customer_portal:read` `customer_portal:write`
customer_portalcustomer_meterspublic
Get Authenticated Portal User
Get information about the currently authenticated portal user. **Scopes**: `customer_portal:read` `customer_portal:write`
customer_portalcustomer-sessionpublic
Introspect Customer Session
Introspect the current session and return its information. **Scopes**: `customer_portal:read` `customer_portal:write`
customer_portalcustomer-sessionpublic
Add Customer Payment Method
Add a payment method to the authenticated customer.
customer_portalcustomerspublic
Check Email Change Token
Check if an email change verification token is still valid.
customer_portalcustomerspublic
Confirm Customer Payment Method
Confirm a payment method for the authenticated customer.
customer_portalcustomerspublic
Delete Customer Payment Method
Delete a payment method from the authenticated customer.
customer_portalcustomerspublic
Get Customer
Get authenticated customer. **Scopes**: `customer_portal:read` `customer_portal:write`
customer_portalcustomerspublic
List Customer Payment Methods
Get saved payment methods of the authenticated customer.
customer_portalcustomerspublic
Request Email Change
Request an email change for the authenticated customer.
customer_portalcustomerspublic
Update Customer
Update authenticated customer.
customer_portalcustomerspublic
Verify Email Change
Verify an email change using the token from the verification email.
customer_portalcustomerspublic
List Downloadables
**Scopes**: `customer_portal:read` `customer_portal:write`
customer_portaldownloadablespublic
Activate License Key
Activate a license key instance. > This endpoint doesn't require authentication and can be safely used on a public > client, like a desktop application or a mobile app. > If you plan to validate a license key on a server, use the `/v1/license-keys/activate` > endpoint instead.
customer_portallicense_keyspublic
Deactivate License Key
Deactivate a license key instance. > This endpoint doesn't require authentication and can be safely used on a public > client, like a desktop application or a mobile app. > If you plan to validate a license key on a server, use the `/v1/license-keys/deactivate` > endpoint instead.
customer_portallicense_keyspublic
Get License Key
Get a license key. **Scopes**: `customer_portal:read` `customer_portal:write`
customer_portallicense_keyspublic
List License Keys
**Scopes**: `customer_portal:read` `customer_portal:write`
customer_portallicense_keyspublic
Validate License Key
Validate a license key. > This endpoint doesn't require authentication and can be safely used on a public > client, like a desktop application or a mobile app. > If you plan to validate a license key on a server, use the `/v1/license-keys/validate` > endpoint instead.
customer_portallicense_keyspublic
Add Member
Add a new member to the customer's team. Only available to owners and billing managers of team customers. Rules: - Cannot add a member with the owner role (there must be exactly one owner) - If a member with this email already exists, the existing member is returned
customer_portalmemberspublic
List Members
List all members of the customer's team. Only available to owners and billing managers of team customers.
customer_portalmemberspublic
Remove Member
Remove a member from the team. Only available to owners and billing managers of team customers. Rules: - Cannot remove yourself - Cannot remove the only owner
customer_portalmemberspublic
Update Member
Update a member's name or role. Only available to owners and billing managers of team customers. Rules: - Cannot modify your own role (to prevent self-demotion) - Customer must have exactly one owner at all times
customer_portalmemberspublic
Confirm Retry Payment
Confirm a retry payment using a Stripe confirmation token.
customer_portalorderspublic
Generate Order Invoice
Trigger generation of an order's invoice.
customer_portalorderspublic
Get Order
Get an order by ID for the authenticated customer.
customer_portalorderspublic
Get Order Payment Status
Get the current payment status for an order.
customer_portalorderspublic
Get Order Invoice
Get an order's invoice data.
customer_portalorderspublic
List Orders
List orders of the authenticated customer.
customer_portalorderspublic
Get Order Receipt
Get a presigned URL to download an order's receipt PDF.
customer_portalorderspublic
Update Order
Update an order for the authenticated customer.
customer_portalorderspublic
Get Organization
Get a customer portal's organization by slug.
customer_portalorganizationspublic
Assign Seat
Assign Seat
customer_portalseatspublic
List Claimed Subscriptions
List all subscriptions where the authenticated customer has claimed a seat. **Scopes**: `customer_portal:read` `customer_portal:write`
customer_portalseatspublic
List Seats
**Scopes**: `customer_portal:read` `customer_portal:write`
customer_portalseatspublic
Resend Invitation
Resend Invitation
customer_portalseatspublic
Revoke Seat
Revoke Seat
customer_portalseatspublic
Cancel Subscription
Cancel a subscription of the authenticated customer.
customer_portalsubscriptionspublic
Get Subscription
Get a subscription for the authenticated customer. **Scopes**: `customer_portal:read` `customer_portal:write`
customer_portalsubscriptionspublic
List Subscriptions
List subscriptions of the authenticated customer. **Scopes**: `customer_portal:read` `customer_portal:write`
customer_portalsubscriptionspublic
Update Subscription
Update a subscription of the authenticated customer.
customer_portalsubscriptionspublic
Get Wallet
Get a wallet by ID for the authenticated customer.
customer_portalwalletspublic
List Wallets
List wallets of the authenticated customer.
customer_portalwalletspublic
Assign Seat
**Scopes**: `customer_seats:write`
customer-seatspublic
Claim Seat
Claim Seat
customer-seatspublic
Get Claim Info
Get Claim Info
customer-seatspublic
List Seats
**Scopes**: `customer_seats:read`
customer-seatspublic
Resend Invitation
**Scopes**: `customer_seats:write`
customer-seatspublic
Revoke Seat
**Scopes**: `customer_seats:write`
customer-seatspublic
Create Customer Session
Create a customer session. For organizations with `member_model_enabled`, this will automatically create a member session for the owner member of the customer. **Scopes**: `customer_sessions:write`
customer-sessionspublic
Create Customer
Create a customer. **Scopes**: `customers:write`
customerspublic
Delete Customer
Delete a customer. This action cannot be undone and will immediately: - Cancel any active subscriptions for the customer - Revoke all their benefits - Clear any `external_id` Use it only in the context of deleting a user within your own service. Otherwise, use more granular API endpoints to cancel a specific subscription or revoke certain benefits. Note: The customers information will nonetheless be retained for historic orders and subscriptions. Set `anonymize=true` to also anonymize PII for GDPR compliance. **Scopes**: `customers:write`
customerspublic
Delete Customer by External ID
Delete a customer by external ID. Immediately cancels any active subscriptions and revokes any active benefits. Set `anonymize=true` to also anonymize PII for GDPR compliance. **Scopes**: `customers:write`
customerspublic
Export Customers
Export customers as a CSV file. **Scopes**: `customers:read` `customers:write`
customerspublic
Get Customer
Get a customer by ID. **Scopes**: `customers:read` `customers:write`
customerspublic
Get Customer by External ID
Get a customer by external ID. **Scopes**: `customers:read` `customers:write`
customerspublic
Get Customer State
Get a customer state by ID. The customer state includes information about the customer's active subscriptions and benefits. It's the ideal endpoint to use when you need to get a full overview of a customer's status. **Scopes**: `customers:read` `customers:write`
customerspublic
Get Customer State by External ID
Get a customer state by external ID. The customer state includes information about the customer's active subscriptions and benefits. It's the ideal endpoint to use when you need to get a full overview of a customer's status. **Scopes**: `customers:read` `customers:write`
customerspublic
List Customers
List customers. **Scopes**: `customers:read` `customers:write`
customerspublic
List Customer Payment Methods
Get saved payment methods of a customer. **Scopes**: `customers:read` `customers:write`
customerspublic
List Customer Payment Methods by External ID
Get saved payment methods of a customer by external ID. **Scopes**: `customers:read` `customers:write`
customerspublic
Create Member
Create a new member for a customer. Only B2B customers with the member management feature enabled can add members. The authenticated user or organization must have access to the customer's organization. **Scopes**: `members:write`
customersmemberspublic
Create Member by Customer External ID
Create a new member for a customer identified by its external ID. **Scopes**: `members:write`
customersmemberspublic
Delete Member
Delete a member of a customer. **Scopes**: `members:write`
customersmemberspublic
Delete Member by External ID
Delete a member by external ID for a customer identified by its external ID. **Scopes**: `members:write`
customersmemberspublic
Get Member
Get a member of a customer by its ID. **Scopes**: `members:read` `members:write`
customersmemberspublic
Get Member by External ID
Get a member by external ID for a customer identified by its external ID. **Scopes**: `members:read` `members:write`
customersmemberspublic
Update Member
Update a member of a customer. Only name, email and role can be updated. **Scopes**: `members:write`
customersmemberspublic
Update Member by External ID
Update a member by external ID for a customer identified by its external ID. **Scopes**: `members:write`
customersmemberspublic
Update Customer
Update a customer. **Scopes**: `customers:write`
customerspublic
Update Customer by External ID
Update a customer by external ID. **Scopes**: `customers:write`
customerspublic
Create Discount
Create a discount. **Scopes**: `discounts:write`
discountspublic
Delete Discount
Delete a discount. **Scopes**: `discounts:write`
discountspublic
Get Discount
Get a discount by ID. **Scopes**: `discounts:read` `discounts:write`
discountspublic
List Discounts
List discounts. **Scopes**: `discounts:read` `discounts:write`
discountspublic
Update Discount
Update a discount. **Scopes**: `discounts:write`
discountspublic
Accept Dispute
Accept a dispute, conceding the chargeback. Closes the dispute with the processor (settling it as `lost`) and records the merchant's decision on the dispute's support case. **Scopes**: `disputes:write`
disputespublic
Get Dispute
Get a dispute by ID. **Scopes**: `disputes:read` `disputes:write`
disputespublic
List Disputes
List disputes. **Scopes**: `disputes:read` `disputes:write`
disputespublic
List Event Types
List event types with aggregated statistics. **Scopes**: `events:read` `events:write`
event-typespublic
Update Event Type
Update an event type's label. **Scopes**: `events:write`
event-typespublic
Get Event
Get an event by ID. **Scopes**: `events:read` `events:write`
eventspublic
Ingest Events
Ingest batch of events. **Scopes**: `events:write`
eventspublic
List Events
List events. **Scopes**: `events:read` `events:write`
eventspublic
List Event Names
List event names. **Scopes**: `events:read` `events:write`
eventspublic
Create File
Create a file. **Scopes**: `files:write`
filespublic
Delete File
Delete a file. **Scopes**: `files:write`
filespublic
List Files
List files. **Scopes**: `files:read` `files:write`
filespublic
Update File
Update a file. **Scopes**: `files:write`
filespublic
Complete File Upload
Complete a file upload. **Scopes**: `files:write`
filespublic
Activate License Key
Activate a license key instance. **Scopes**: `license_keys:write`
license_keyspublic
Deactivate License Key
Deactivate a license key instance. **Scopes**: `license_keys:write`
license_keyspublic
Get License Key
Get a license key. **Scopes**: `license_keys:read` `license_keys:write`
license_keyspublic
Get Activation
Get a license key activation. **Scopes**: `license_keys:read` `license_keys:write`
license_keyspublic
List License Keys
Get license keys connected to the given organization & filters. **Scopes**: `license_keys:read` `license_keys:write`
license_keyspublic
Update License Key
Update a license key. **Scopes**: `license_keys:write`
license_keyspublic
Validate License Key
Validate a license key. **Scopes**: `license_keys:write`
license_keyspublic
List Members
List members with optional customer ID filter. **Scopes**: `members:read` `members:write`
memberspublic
Create Meter
Create a meter. **Scopes**: `meters:write`
meterspublic
Get Meter
Get a meter by ID. **Scopes**: `meters:read` `meters:write`
meterspublic
List Meters
List meters. **Scopes**: `meters:read` `meters:write`
meterspublic
Get Meter Quantities
Get quantities of a meter over a time period. **Scopes**: `meters:read` `meters:write`
meterspublic
Update Meter
Update a meter. **Scopes**: `meters:write`
meterspublic
Create Metric Dashboard
Create a user-defined metric dashboard. **Scopes**: `metrics:write`
metricspublic
Delete Metric Dashboard
Delete a user-defined metric dashboard. **Scopes**: `metrics:write`
metricspublic
Export Metrics
Export metrics as a CSV file. **Scopes**: `metrics:read`
metricspublic
Get Metrics
Get metrics about your orders and subscriptions. Currency values are output in cents. **Scopes**: `metrics:read`
metricspublic
Get Metric Dashboard
Get a user-defined metric dashboard by ID. **Scopes**: `metrics:read`
metricspublic
Get Metrics Limits
Get the interval limits for the metrics endpoint. **Scopes**: `metrics:read`
metricspublic
List Metric Dashboards
List user-defined metric dashboards. **Scopes**: `metrics:read`
metricspublic
Update Metric Dashboard
Update a user-defined metric dashboard. **Scopes**: `metrics:write`
metricspublic
Get User Info
Get information about the authenticated user.
oauth2public
Create Order
Create a draft order for an off-session charge against a saved payment method. The order is created with `status=draft` and no invoice number; call `POST /v1/orders/{id}/finalize` to attempt the charge. The organization must have the `off_session_charges_enabled` feature flag. **Scopes**: `orders:write`
orderspublic
Export Orders
Export orders as a CSV file. **Scopes**: `orders:read`
orderspublic
Finalize Order
Finalize a draft order and synchronously attempt an off-session charge. On success, the order transitions to `paid` and benefit grants fire before the response returns. On failure (decline, missing payment method, SCA challenge), the order stays in `draft` and a 4xx error is returned. The request fails with 412 if the order is not in `draft` status. **Scopes**: `orders:write`
orderspublic
Generate Order Invoice
Trigger generation of an order's invoice. **Scopes**: `orders:read`
orderspublic
Get Order
Get an order by ID. **Scopes**: `orders:read`
orderspublic
Get Order Invoice
Get an order's invoice data. **Scopes**: `orders:read`
orderspublic
List Orders
List orders. **Scopes**: `orders:read`
orderspublic
Get Order Receipt
Get a presigned URL to download an order's receipt PDF. **Scopes**: `orders:read`
orderspublic
Update Order
Update an order. **Scopes**: `orders:write`
orderspublic
Create Organization
Create an organization. **Scopes**: `organizations:write`
organizationspublic
Get Organization
Get an organization by ID. **Scopes**: `organizations:read` `organizations:write`
organizationspublic
List Organizations
List organizations. **Scopes**: `organizations:read` `organizations:write`
organizationspublic
Update Organization
Update an organization. **Scopes**: `organizations:write`
organizationspublic
Get Payment
Get a payment by ID. **Scopes**: `payments:read`
paymentspublic
List Payments
List payments. **Scopes**: `payments:read`
paymentspublic
Create Product
Create a product. **Scopes**: `products:write`
productspublic
Get Product
Get a product by ID. **Scopes**: `products:read` `products:write`
productspublic
List Products
List products. **Scopes**: `products:read` `products:write`
productspublic
Update Product
Update a product. **Scopes**: `products:write`
productspublic
Update Product Benefits
Update benefits granted by a product. **Scopes**: `products:write`
productspublic
Create Refund
Create a refund. **Scopes**: `refunds:write`
refundspublic
List Refunds
List refunds. **Scopes**: `refunds:read` `refunds:write`
refundspublic
Create Subscription
Create a subscription programmatically. This endpoint only allows to create subscription on free products. For paid products, use the checkout flow. No initial order will be created and no confirmation email will be sent. **Scopes**: `subscriptions:write`
subscriptionspublic
Export Subscriptions
Export subscriptions as a CSV file. **Scopes**: `subscriptions:read` `subscriptions:write`
subscriptionspublic
Get Subscription
Get a subscription by ID. **Scopes**: `subscriptions:read` `subscriptions:write`
subscriptionspublic
List Subscriptions
List subscriptions. **Scopes**: `subscriptions:read` `subscriptions:write`
subscriptionspublic
Revoke Subscription
Revoke a subscription, i.e cancel immediately. **Scopes**: `subscriptions:write`
subscriptionspublic
Update Subscription
Update a subscription. **Scopes**: `subscriptions:write`
subscriptionspublic
Create Webhook Endpoint
Create a webhook endpoint. **Scopes**: `webhooks:write`
webhookspublic
Delete Webhook Endpoint
Delete a webhook endpoint. **Scopes**: `webhooks:write`
webhookspublic
Get Webhook Endpoint
Get a webhook endpoint by ID. **Scopes**: `webhooks:read` `webhooks:write`
webhookspublic
List Webhook Deliveries
List webhook deliveries. Deliveries are all the attempts to deliver a webhook event to an endpoint. **Scopes**: `webhooks:read` `webhooks:write`
webhookspublic
List Webhook Endpoints
List webhook endpoints. **Scopes**: `webhooks:read` `webhooks:write`
webhookspublic
Redeliver Webhook Event
Schedule the re-delivery of a webhook event. **Scopes**: `webhooks:write`
webhookspublic
Reset Webhook Endpoint Secret
Regenerate a webhook endpoint secret. **Scopes**: `webhooks:write`
webhookspublic
Update Webhook Endpoint
Update a webhook endpoint. **Scopes**: `webhooks:write`
webhookspublic
FAQ

Polar integration, answered

How do AI agents use Polar through Open Connector?
Your user connects Polar once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes Polar tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
Is this a Polar MCP server?
Yes. Open Connector can serve Polar as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call Polar actions with credentials injected server-side.
Where do Polar credentials live?
In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.

Give your agents Polar — keep the keys.

Open source, self-hostable, with Polar credentials that never leave your infrastructure. Run it from source today.