Paddle Setup Guide

Complete guide to setting up your Paddle account for use with Codeless Sync.

Updated: 14 Feb 2026

Paddle Setup Guide

This guide helps you configure your Paddle Billing account and obtain your API key for Codeless Sync.

Prerequisites

  • An active Paddle Billing account
  • Access to your Paddle Dashboard

Step 1: Access API Keys

  1. Log in to your Paddle Dashboard
  2. Navigate to Developer Tools in the left sidebar
  3. Click Authentication (or API Keys)
  4. Click Generate API Key

If you don't see Developer Tools, you may need admin permissions on your Paddle account.

Step 2: Configure Your API Key

When generating your API key:

  1. Give your key a descriptive name (e.g., "Codeless Sync")
  2. Set expiry to "Never Expires" (strongly recommended) — Paddle keys expire after 90 days by default
  3. Under Permissions, check "Read" for "All" — this is required for CLS to sync all your Paddle data (customers, subscriptions, transactions, etc.)
  4. Click Generate
  5. Copy the key immediately — you won't be able to see it again

Paddle API keys can expire (default: 90 days). If your key expires, syncs will fail. We strongly recommend setting "Never Expires" or keeping track of your key's expiry date and rotating before it expires.

CLS only reads your Paddle data — it never creates, updates, or deletes anything. Setting "Read" permission for "All" ensures CLS can access all supported data types without needing to update permissions later.

Step 3: Understand Environments

Paddle has two environments, which are automatically detected from your API key:

Sandbox

  • Purpose: Development and testing
  • Key pattern: Contains _sdbx_ in the key
  • Data: Test data only, no real charges
  • When to use: Initial setup, development, staging

Production (Live)

  • Purpose: Live billing with real customers
  • Key pattern: Contains _live_ in the key
  • Data: Real customer data and charges
  • When to use: Production applications only

The environment is automatically detected from your API key. Keys containing _sdbx_ are sandbox, and keys containing _live_ are production. Legacy keys without either marker default to production.

Step 4: Use in Codeless Sync

  1. Go to your CLS dashboard
  2. Create a new configuration
  3. Select Paddle as your provider
  4. Paste your Paddle API key in Step 3
  5. Click Connect
  6. Proceed with configuration

Security Best Practices

Store Keys Securely

  • Never share your API key publicly
  • Never commit API keys to source code
  • CLS encrypts your key at rest

Monitor Key Expiry

If you didn't set "Never Expires":

  1. Track when your key was created
  2. Paddle keys expire after 90 days by default
  3. Generate a new key before the old one expires
  4. Update the connection in CLS with the new key
  5. Delete the old key in Paddle

Rotate Keys Regularly

Even with "Never Expires", periodic rotation is good practice:

  1. Generate a new key in Paddle
  2. Update your connection in CLS
  3. Delete the old key in Paddle

Paddle API Limits

Paddle rate limits API requests. CLS automatically handles rate limiting with:

  • Batch processing
  • Request throttling
  • Exponential backoff on errors

Testing Your Setup

After adding your Paddle key to CLS:

  1. Create a test configuration using your sandbox key
  2. Run a manual sync
  3. Verify data appears in your database
  4. Check sync history for any errors

Common Issues

Invalid API Key

  • Verify you copied the entire key
  • Check you're using the correct environment (sandbox vs production)
  • Ensure the key hasn't expired or been deleted in Paddle

Key Expired

  • Paddle keys expire after 90 days by default
  • Generate a new key and update your CLS connection
  • Set "Never Expires" on the new key to prevent this

Permission Denied

  • Verify your API key has "Read" permission set to "All" in the Paddle dashboard
  • Check that data exists in your Paddle account
  • Ensure your Paddle account is active and in good standing

No Data After Sync

  • Verify you have data in your Paddle account (customers, subscriptions, etc.)
  • Check the sync history in your CLS dashboard for error messages
  • Ensure you're using the correct environment key (sandbox vs production)

Next Steps