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.
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
Your user grants Polar access once (OAuth) — the token lands in the vault.
- 2
Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.
- 3
Every routed call appends a hash-chained audit record — nothing leaves your infra.
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
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.