Docs

Delete entities

Most entities in the Paddle API must be retained for record-keeping purposes, so can't be deleted. When you no longer need them, archive them instead.

This page covers how to retire entities in Paddle — archiving, canceling, or deleting — depending on the entity type.

Paddle is a merchant of record, which means you can't delete most entities. They're considered financial records, or relate to financial records, so have to be retained for record-keeping purposes. For example:

Instead of deleting, you can archive an entity when you no longer need it. You can archive customers and their related entities, as well as entities that make up your product catalog.

Archive vs. delete

Archiving an entity is the primary way to mark entities as no longer needed.

When you archive an entity:

  • It can't be used in Paddle, though it remains related to existing entities
  • It isn't returned in most list operations by default
  • It won't show up in default views in the Paddle dashboard

Archived entities remain on your Paddle system, so you can still get information about them in the future. You can unarchive them if you want to work with them again.

When you delete an entity, it's permanently removed from your Paddle system. Only notification destinations and payment methods can be deleted.

Archive an entity

Send a PATCH request to the relevant update operation endpoint. For example, to update a product:

PATCH /products/{product_id}
Request
{
"status": "archived"
}
Response
{
"data": {
"id": "pro_01htz88xpr0mm7b3ta2pjkr7w2",
"name": "AeroEdit Student",
"tax_category": "standard",
"type": "standard",
"description": "Essential tools for student pilots to manage flight logs, analyze performance, and plan routes, and ensure compliance. Valid student pilot certificate from the FAA required.",
"image_url": "https://paddle.s3.amazonaws.com/user/165798/bT1XUOJAQhOUxGs83cbk_pro.png",
"custom_data": null,
"status": "archived",
"import_meta": null,
"created_at": "2024-04-08T16:22:16.024Z",
"updated_at": "2024-04-08T16:22:16.024Z"
},
"meta": {
"request_id": "cf40234b-e140-44d1-a83f-7bbdedd88589"
}
}

Unarchive an entity

To unarchive an entity, send a PATCH request to the relevant endpoint. Include status as active.

Cancel transactions or subscriptions

Subscriptions and transactions have different statuses to other entities.

Cancel a transaction

If you created a transaction in error, you can cancel it. The canceled transaction remains on your system for record-keeping purposes.

Send a PATCH request to the /transactions/{transaction_id} endpoint, setting status to canceled.

PATCH /transactions/{transaction_id}

You can't cancel a transaction that's completed. Once a transaction is completed, you can create an adjustment to make post-billing changes to it, like refunding or crediting part or all of it.

Cancel a subscription

Canceling a subscription is a core part of the subscription lifecycle. Make sure customers can cancel their subscription and have access to their data until their cancellation goes through.

Use the cancel a subscription operation to cancel a subscription. See Cancel a subscription for the full workflow.

Delete a notification destination

Notification destinations aren't related to financial records, so they can be deleted as well as deactivated. See Work with notification destinations.

Delete a payment method

Customers can save payment methods at checkout so they can be used for future purchases. You can delete a payment method on behalf of a customer if they no longer need it.

Saved payment methods can't be deleted if tied to an active, trialing, paused, or past_due subscription. Update the subscription's payment method first, then delete the saved payment method.

Was this page helpful?