customer.created
Fires when a new customer is created
Paddle
56 triggers and 87 actions for Paddle workflows.
Each trigger lists the event it fires on, the data it sends, and a template you can use it in.
Real-time push from the source.
customer.created
Fires when a new customer is created
discount.created
Fires when a new discount is created
payout.paid
Fires when a payout is paid to your bank account
product.created
Fires when a new product is created
subscription.activated
Fires when a subscription becomes active after trial or payment
subscription.canceled
Fires when a subscription is canceled
subscription.created
Fires when a new subscription is created
subscription.past_due
Fires when a subscription has an unpaid transaction
subscription.paused
Fires when a subscription is paused
subscription.trialing
Fires when a subscription enters a trial period
transaction.billed
Fires when a transaction is billed and an invoice is issued
transaction.completed
Fires when a transaction is fully processed and completed
transaction.payment_failed
Fires when a payment attempt fails
address.created
A new address has been added to a customer or business account. This typically represents a billing or shipping location.
address.imported
Address data has been imported into your Paddle account from an external source. This bulk operation adds multiple addresses to customers or businesses.
address.updated
An existing address's details have been changed. This could reflect a customer moving or updating their billing information.
adjustment.created
Fires when a refund or credit adjustment is created
adjustment.updated
Fires when a refund adjustment is approved or rejected
api_key_exposure.created
A potential security breach has been detected where an API key may have been exposed. This alert helps you protect your account by revoking compromised credentials.
api_key.created
A new API key has been generated for authentication. This happens when you create credentials to access the Paddle API.
api_key.expired
An API key has reached its expiration date and is no longer valid. You'll need to generate a new key to continue API access.
api_key.expiring
An API key is approaching its expiration date and will soon become invalid. This gives you time to generate a replacement key before it expires.
api_key.revoked
An API key has been manually revoked and is immediately invalid. This is useful for security purposes when you need to disable access.
api_key.updated
An existing API key's details or settings have been changed. This includes modifications to the key's name, description, or configuration.
business.created
A new business entity has been created in your Paddle account. Businesses represent organizations that can have multiple addresses and billing information.
business.imported
Business data has been imported into your Paddle account from an external source. This bulk operation adds existing businesses to your system.
business.updated
A business's information has been updated. This includes changes to company details, tax information, or other business settings.
client_token.created
A new client token has been generated for secure frontend interactions. This token allows client-side operations without exposing your API keys.
client_token.revoked
A client token has been revoked and is no longer usable. This stops any further frontend interactions using that token.
client_token.updated
A client token's configuration or metadata has been updated. This reflects changes to the token's settings or properties.
customer.imported
Fires when a customer is imported
customer.updated
Fires when a customer record is updated
discount_group.created
A new discount group has been created to organize related discounts. This helps manage multiple promotional offers together.
discount_group.updated
A discount group's settings have been updated. This reflects changes to how discounts in the group are organized or configured.
discount.imported
Fires when a discount is imported
discount.updated
Fires when a discount is updated
payment_method.deleted
A payment method has been removed from a customer's account. Future transactions cannot use this removed payment method.
payment_method.saved
A new payment method has been added to a customer's account. This allows future charges to be processed using this card or account.
payout.created
Fires when a payout is initiated by Paddle
price.created
Fires when a new price is created
price.imported
Fires when a price is imported
price.updated
Fires when a price is updated
product.imported
Fires when a product is imported
product.updated
Fires when a product is updated
report.created
A new report has been generated for your account. This contains data and analytics about your business activity.
report.updated
A report's status or content has been updated. This reflects changes as the report is generated or modified.
subscription.imported
Fires when a subscription is imported from another source
subscription.resumed
Fires when a paused subscription is resumed
subscription.updated
Fires when a subscription is modified
transaction.canceled
Fires when a transaction is canceled
transaction.created
Fires when a new transaction is created
transaction.paid
Fires when a transaction payment is captured
transaction.past_due
Fires when a transaction becomes past due
transaction.ready
Fires when a transaction has all required fields to be billed
transaction.revised
Fires when a transaction is revised
transaction.updated
Fires when a transaction is updated
Operations are the actions a workflow can take in Paddle, grouped by category. Each lists its method, parameters, and a template you can drop it into.
Manage billing and shipping addresses for customers in your Paddle account. Use these operations to store, retrieve, update, and organize customer location information for orders and invoicing.
Create a billing address for a customer
/customers/{customer_id}/addressesAdd a billing address to a customer's profile for accurate tax calculation, fraud prevention, and compliance with local regulations. This enables you to create transactions and subscriptions with the correct billing information.
Get a billing address for a customer
/customers/{customer_id}/addresses/{address_id}Retrieve the complete billing address details for a specific customer, including country, region, postal code, and current status. Use this to verify customer location information before processing payments or displaying billing details in your application.
List addresses for a customer
/customers/{customer_id}/addressesRetrieve all billing addresses on file for a customer, including their country, region, and postal code information used for tax and compliance purposes.
Update a billing address for a customer
/customers/{customer_id}/addresses/{address_id}Modify a customer's billing address details such as postal code, region, and description when they relocate or need to correct their information. Updated address information applies to all future transactions for that customer.
Handle refunds and credit adjustments to correct charges or customer accounts. These operations let you create adjustments and generate credit note PDFs for financial records and customer communication.
Create a refund or credit adjustment
/adjustmentsProcess refunds back to customer payment methods or issue credits to their account for partial or full transaction amounts. This helps you manage customer disputes, returns, and billing corrections while automatically generating credit documentation.
Get a PDF credit note for an adjustment
/adjustments/{adjustment_id}/credit-noteGet a download link for the PDF credit note generated when you issue a refund or credit to a customer, with the link expiring after one hour.
List all adjustments
/adjustmentsRetrieve a list of all refunds and credits applied to customer transactions, helping you track financial adjustments and customer account modifications.
Maintain business entity details for customers who represent organizations rather than individuals. Use these operations to store and manage company information linked to customer accounts.
Create a business for a customer
/customers/{customer_id}/businessesAdd a new business profile to a customer account with company information and tax details for B2B invoicing and transactions.
Get a business for a customer
/customers/{customer_id}/businesses/{business_id}Retrieve complete business details for a customer, including company information and tax identifiers, to verify B2B transaction and invoice requirements.
List businesses for a customer
/customers/{customer_id}/businessesRetrieve all businesses linked to a customer, including company details and tax information used for billing and invoicing. Helps you manage multiple business profiles for B2B clients.
Update a business for a customer
/customers/{customer_id}/businesses/{business_id}Update a customer's business information such as company name, tax ID, or contact details. Use this when a customer's company details change to ensure accurate billing and tax records for future transactions.
Manage authentication tokens for client-side API access in your application. These operations let you create, retrieve, and control tokens that secure frontend interactions with Paddle's services.
Create a new client-side token
/client-tokensGenerate a secure token that allows your website to use Paddle's checkout functionality, scoped to your specific domains for security.
Get a client-side token by ID
/client-tokens/{client_token_id}Retrieve the details of a client-side token to verify its configuration, allowed domains, and active status. Use this when you need to confirm a token is properly set up and ready for use on your website or app.
List all client-side tokens
/client-tokensRetrieve a list of client-side tokens that authorize your frontend application to use Paddle.js checkout functionality. This helps you manage and monitor which domains are authorized to process payments.
Update or revoke a client-side token
/client-tokens/{client_token_id}Modify a client-side token's settings such as its name or allowed domains, or permanently revoke it when it's no longer needed. This helps you maintain security by restricting token usage to specific domains and removing access when environments are decommissioned.
Handle the full lifecycle of customer accounts in Paddle, from creation to authentication and portal access. Use these operations to manage customer data, generate login tokens, track credit balances, and maintain customer relationships.
List all customers
/customersRetrieve all your customers with filtering and search capabilities to view who's purchasing from you. Use this to maintain an up-to-date customer directory, find specific customers by email or name, and identify active versus archived accounts.
Create a customer portal session
/customers/{customer_id}/portal-sessionsGenerate a secure portal session that lets your customers manage their subscriptions, update payment methods, and view invoices directly through Paddle's hosted interface without you building custom billing pages.
Create a new customer
/customersCreate a new customer record in your Paddle account with their email address and optional details like name and locale. Use this to pre-populate customer information, import existing customers, or set up billing profiles before they make a purchase.
Generate an authentication token for a customer
/customers/{customer_id}/auth-tokenCreates a temporary authentication token for a customer that enables quick, secure checkout using their saved payment methods without requiring them to re-enter card details.
Get a customer by ID
/customers/{customer_id}Retrieves complete customer details including email, name, location preferences, and marketing consent status from Paddle. Use this to display customer information in your app or verify customer profiles before processing transactions.
List credit balances for a customer
/customers/{customer_id}/credit-balancesRetrieve all credit balances for a customer across different currencies, showing how much credit is available, reserved, and already used. This helps you track customer credit status before processing transactions or disputes.
Update an existing customer
/customers/{customer_id}Update a customer's name, email, locale, or custom data to keep your records synchronized with their current information, ensuring accurate communication and personalized experiences going forward.
Organize and manage collections of discounts into reusable groups for bulk operations. These operations let you create, update, and retrieve discount groups to apply promotional rules across multiple products or customers.
Create a new discount group
/discount-groupsCreate a discount group to organize and manage multiple related discounts together, making it easier to track campaigns and promotions at scale.
Get a discount group by ID
/discount-groups/{discount_group_id}Retrieve all details about a specific discount group, including its name, description, and which discounts are associated with it. This helps you verify your discount group configuration and understand what offers are currently active.
List all discount groups
/discount-groupsRetrieve all your discount groups to see how discounts are organized and categorized for your products or services.
Update an existing discount group
/discount-groups/{discount_group_id}Modify the details of an existing discount group including its name, description, or configuration settings. This lets you keep your discount organization current as your business needs change.
Create and manage promotional discounts that reduce prices for customers. Use these operations to build discount campaigns, update terms, and retrieve discount details for your pricing strategy.
Create a new discount
/discountsCreate a percentage or flat-amount discount code that customers can use at checkout or apply programmatically to transactions and subscriptions. Set expiration dates, usage limits, and product restrictions to control when and how the discount is redeemed.
Get a discount by ID
/discounts/{discount_id}Retrieve complete details about a specific discount, including its type, amount, usage limits, and expiration date. Use this to verify discount settings or display discount information to customers.
List all discounts
/discountsView all your discounts organized by status to manage active coupon codes and promotional offers in one place. This helps you track which discounts are currently running, archived, or have expired.
Update an existing discount
/discounts/{discount_id}Modify an existing discount's details including code, amount, expiration date, usage limits, and status to adjust your promotions as business needs change.
Discover the types of events that Paddle can send to your application through webhooks. This reference helps you understand which events your system can subscribe to and handle.
List all available event types
/event-typesRetrieve all available event types that Paddle can generate to understand what notifications you can receive through webhooks. This helps you configure which business events you want to monitor and react to automatically.
View the recent events generated by Paddle for your account, such as transaction completions or subscription changes. This operation helps you monitor activity and troubleshoot integration issues.
List recent events
/eventsRetrieve recent activity from your Paddle account to see what's happened with subscriptions, payments, and customers over the last 90 days. Use this to sync your billing data with other tools or investigate account changes.
Retrieve the IP addresses used by Paddle's infrastructure for webhook delivery and API calls. Use this information to configure firewall rules and security policies in your systems.
Get Paddle IP addresses
/ipsRetrieve the IP addresses Paddle uses for webhooks and outbound requests so you can configure your firewall to allow legitimate traffic from Paddle. This ensures you don't accidentally block important payment notifications and updates.
Review delivery logs for specific notifications sent to your configured endpoints. This operation helps you diagnose webhook delivery failures and confirm successful message transmission.
List delivery logs for a notification
/notifications/{notification_id}/logsView delivery attempt logs for a specific notification to see which endpoints received it and why delivery might have failed. This helps you troubleshoot webhook issues and ensure critical business notifications are reaching your systems.
Configure which events trigger notifications and where Paddle should send them. Use these operations to set up webhook endpoints, enable or disable specific event types, and manage notification routing.
Create a new notification setting
/notification-settingsSet up a webhook endpoint to automatically receive specific Paddle events, enabling your application to respond to business transactions in real-time without manual polling.
Delete a notification setting
/notification-settings/{notification_setting_id}Remove a webhook notification setting to stop Paddle from sending events to a specific endpoint. Use this when you no longer need notifications delivered to that destination.
Get a notification setting by ID
/notification-settings/{notification_setting_id}Retrieve the complete details of a specific notification setting, including the webhook endpoint URL, event subscriptions, and signing secret used to verify webhook authenticity.
List all notification settings
/notification-settingsRetrieve all your webhook notification settings to see which event types are being sent to each endpoint. Use this to audit your notification configuration and ensure your integrations are receiving the correct events.
Update a notification setting
/notification-settings/{notification_setting_id}Modify your notification setting's endpoint URL, description, or which event types trigger notifications to your webhook. Use this to keep your webhook configuration current as your business needs evolve.
Monitor notifications sent by Paddle and replay failed or delivered messages for testing and troubleshooting. These operations help you verify webhook delivery and resend notifications when needed.
Get a notification by ID
/notifications/{notification_id}Retrieve the complete details of a specific notification, including its status, payload, and delivery history to understand what data was sent or troubleshoot delivery problems.
List recent notifications
/notificationsRetrieve your recent webhook notifications from Paddle to monitor delivery status and troubleshoot any failed event deliveries. This helps you track whether important transaction and subscription events reached your systems correctly.
Replay a failed or delivered notification
/notifications/{notification_id}/replayResend a webhook notification that previously failed or was already delivered, creating a new delivery attempt linked to the original event. This is useful when you need to retry failed transactions, recover from webhook processing errors, or re-trigger business logic after fixing issues on your end.
Access and manage customer payment methods saved in Paddle for recurring charges. Use these operations to retrieve stored cards or bank details and remove outdated payment information.
Delete a saved payment method for a customer
/customers/{customer_id}/payment-methods/{payment_method_id}Remove a customer's saved payment method from their profile so it won't be offered for future purchases. This is useful when a customer wants to remove an outdated or unused card.
Get a saved payment method for a customer
/customers/{customer_id}/payment-methods/{payment_method_id}Retrieve details about a specific payment method a customer has saved, including card type, last four digits, and expiration date to verify payment validity before processing transactions.
List saved payment methods for a customer
/customers/{customer_id}/payment-methodsRetrieve all saved payment methods for a specific customer to display their available payment options or streamline checkout. This helps you offer faster transactions by letting customers choose from previously saved cards and payment details.
Define and manage pricing for your products, including currencies, tiers, and billing intervals. Use these operations to create flexible pricing structures, update pricing terms, and retrieve price details.
Create a new price for a product
/pricesCreate a new price point for a product by specifying the amount, currency, and billing cycle (one-time or recurring). This lets you offer multiple pricing tiers, currencies, or billing periods for the same product.
Get a price by ID
/prices/{price_id}Retrieve the full details of a specific price including its amount, currency, billing cycle, and trial settings to verify configuration or display pricing information to customers.
List all prices
/pricesRetrieve all your pricing configurations to display available options to customers or review your current pricing structure.
Update an existing price
/prices/{price_id}Modify an existing price's details such as description, quantity limits, trial period, custom data, or status without changing the core pricing amount. Use this to archive outdated prices, adjust availability constraints, or update product labels.
Calculate and preview pricing outcomes before executing transactions or changes. This operation helps you show accurate quotes to customers and validate pricing logic in your application.
Preview price calculations
/pricing-previewCalculate and display localized prices with accurate tax amounts before checkout, helping you show customers what they'll actually pay in their location.
Create and manage the products or services you sell through Paddle. Use these operations to define product catalogs, update product details, and organize offerings.
Create a new product
/productsCreate a new product in your Paddle catalog to start selling something. Products form the foundation of your pricing structure and can be paired with multiple price points for subscriptions or one-time sales.
List all products
/productsRetrieve all your products from Paddle to view what you're selling and their current status. Use this to keep your product catalog synchronized across your business systems and website.
Get a product by ID
/products/{product_id}Fetches complete product details including name, description, and configuration from your Paddle catalog, optionally including pricing data in a single request.
Update an existing product
/products/{product_id}Modify a product's details such as name, description, image, tax category, or custom fields to keep your catalog current. Changes apply to future transactions only and don't affect existing subscriptions or past purchases.
Generate, retrieve, and export financial and operational reports from Paddle. Use these operations to analyze sales data, download CSV exports, and access insights about your business performance.
Download a report as CSV
/reports/{report_id}/download-urlGet a temporary download link for your completed CSV report so you can access and analyze your business data. Use this whenever you need to download a finished report that's ready to view.
Generate a new report
/reportsRequest a custom report from Paddle containing your sales, revenue, or transaction data filtered by date range and specific criteria. Use this to analyze business performance, prepare financial records, or export billing information for accounting purposes.
Get a report by ID
/reports/{report_id}Retrieve the details and processing status of a generated report to determine when it's ready for download and analysis.
List all reports
/reportsRetrieve a list of reports from your Paddle account to access detailed transaction and subscription data. Filter reports by status to find ready reports for download or check on pending or failed report generation.
Explore the types of scenarios you can simulate in Paddle's sandbox environment. This reference shows you which business events and workflows you can test before running them in production.
List available simulation types
/simulation-typesRetrieve all available simulation types to understand what webhook events and scenarios you can test before setting up simulations for your payment integrations.
Create and run simulations to test Paddle workflows and webhook handling without affecting production data. These operations let you replay events, test notification delivery, and validate your integration logic safely.
Create a new simulation
/simulationsCreate test webhooks to verify that your notification endpoints correctly process Paddle events before deploying to production. This lets you safely simulate real transaction data and confirm your integrations work as expected.
Get a simulated event by ID
/simulations/{simulation_id}/runs/{simulation_run_id}/events/{simulation_event_id}Retrieve the complete details of a simulated webhook event, including the data that was sent and how your system responded to it. This helps you verify that your webhook integration is correctly handling Paddle's notifications.
Get a simulation by ID
/simulations/{simulation_id}Retrieve the complete details of a test simulation including its configuration, type, and where notifications will be sent. Use this to verify your simulation setup before executing it.
Get a simulation run by ID
/simulations/{simulation_id}/runs/{simulation_run_id}Retrieve detailed information about a specific simulation run, including its current status and delivery results to verify how your test transactions performed.
List all simulations
/simulationsView all your webhook test simulations to manage and review how your systems respond to payment events. This helps you verify your integrations are working correctly before they handle real transactions.
List events for a simulation run
/simulations/{simulation_id}/runs/{simulation_run_id}/eventsRetrieve simulated webhook events from a specific simulation run to see exactly what data would be delivered to your webhook endpoint and verify the delivery status. This helps you understand and debug how Paddle will send real transaction data to your system.
List runs for a simulation
/simulations/{simulation_id}/runsRetrieve all attempts to test your webhook by sending simulated events, organized by simulation with pagination support. This helps you review and monitor which test runs succeeded or failed for your webhook configuration.
Replay a simulated event
/simulations/{simulation_id}/runs/{simulation_run_id}/events/{simulation_event_id}/replayResend a simulated event to your webhook endpoint to verify your integration is working correctly. This creates a new delivery record so you can test your webhook handler after making code changes.
Run a simulation
/simulations/{simulation_id}/runsExecute a test run of a simulation to send sample events to your webhook endpoint, allowing you to verify your webhook handler works correctly with real event payloads.
Update an existing simulation
/simulations/{simulation_id}Modify an existing simulation's name, settings, or the data sources it uses to generate test transactions, allowing you to refine your testing scenarios without creating new simulations.
Manage recurring subscription plans including creation, updates, pausing, and cancellation. Use these operations to handle subscription lifecycle events, charge one-time fees, and preview changes before applying them.
Cancel a subscription
/subscriptions/{subscription_id}/cancelStop a customer's subscription either immediately or at the end of their current billing period, allowing you to handle cancellation requests and manage customer churn.
List all subscriptions
/subscriptionsRetrieve all your subscriptions with filtering options to monitor recurring billing relationships and customer subscription status. Use this to track active subscribers, identify at-risk customers, and understand your subscription business metrics.
Update a subscription
/subscriptions/{subscription_id}Modify a customer's subscription details such as items, billing dates, or payment method to keep their service aligned with their current needs. Use this when customers need to upgrade, downgrade, or adjust their subscription configuration.
Activate a trialing subscription
/subscriptions/{subscription_id}/activateConvert a trial subscription to an active paid subscription, triggering immediate billing and adjusting future billing dates accordingly. Use this when you want to move a trial customer to paid status before their trial period ends.
Create a one-time charge for a subscription
/subscriptions/{subscription_id}/chargeAdd a one-time charge to an existing subscription that will appear on the customer's next invoice, perfect for selling add-ons or unexpected additional services.
Get a payment method update transaction
/subscriptions/{subscription_id}/update-payment-method-transactionRetrieve a transaction that enables customers to update their payment method for a subscription, handling past-due amounts if necessary. This is essential for allowing customers to fix failed payments without losing access to your service.
Get a subscription by ID
/subscriptions/{subscription_id}Retrieve complete subscription details including status, billing cycle, and plan information for a specific customer. Use this to display current subscription status, verify plan details, or check for any scheduled changes.
Pause a subscription
/subscriptions/{subscription_id}/pauseTemporarily halt billing on a customer's subscription without canceling it, with the option to set an automatic resume date. This gives customers flexibility to pause their service and restart later without losing their account or settings.
Preview a one-time charge for a subscription
/subscriptions/{subscription_id}/charge/previewPreview the exact amount a customer will be charged for a one-time subscription charge, including taxes and discounts, before applying the charge to their account.
Preview a subscription update
/subscriptions/{subscription_id}/previewShow customers exactly how a plan change will affect their billing before they confirm the update, including any prorated charges and next payment amount.
Resume a paused subscription
/subscriptions/{subscription_id}/resumeRestart billing on a paused subscription and immediately charge the customer, recalculating future billing dates from the resume date. Use this to bring a temporarily suspended subscription back into active billing.
Create, retrieve, and manage one-off transactions and invoices in Paddle. These operations let you generate charges, preview pricing, access PDF invoices, and update transaction details throughout the billing cycle.
List all transactions
/transactionsRetrieve all your transactions with filtering and pagination to track revenue, payments, and billing activity across your business. Use this to monitor cash flow, find specific transactions, and get related customer and invoice details in one request.
Create a new transaction
/transactionsCreate a billing transaction to charge customers for products or services, either as a one-time purchase or manual invoice with customizable items and billing details.
Get a PDF invoice for a transaction
/transactions/{transaction_id}/invoiceRetrieves a downloadable PDF invoice or receipt for a specific transaction, with the format depending on whether payment was automatically collected or manually invoiced.
Get a transaction by ID
/transactions/{transaction_id}Retrieve complete transaction details including payment status, line items, and totals to display order information or verify customer payments.
Preview a transaction without creating it
/transactions/previewPreview pricing calculations including taxes, discounts, and line-item breakdowns before creating an actual transaction. Perfect for building dynamic pricing pages where customers customize their purchase.
Revise customer information on a transaction
/transactions/{transaction_id}/reviseCorrect customer, address, or business details on a completed transaction to fix invoice mistakes without altering the financial amount. Paddle automatically generates a revised invoice PDF with the corrected information.
Update a draft or ready transaction
/transactions/{transaction_id}Modify transaction details like items, customer information, or billing settings before finalizing a payment, allowing you to correct errors or update orders while still in draft or ready status.
Drop a trigger and an action into a template; approve from your phone; the workflow runs.