Skip to main content
cURL
Cost: 1 API credit per write.
An upgrade of another profile, a profile outside the workspace, or an upgrade Etsy no longer has answers 404. Needs the shop:write scope and the owner or admin role in the workspace. REST only: there is no MCP tool for it. Send an Idempotency-Key so a retry never writes twice (Idempotency).
This removes the upgrade from the profile on your live Etsy shop, so buyers can no longer choose it. The delete is recorded but cannot be reverted.
Etsy reuses an upgrade ID between a domestic and an international upgrade. When the profile has both with this ID, ?type=domestic or ?type=international says which one Alura checks; without it the answer is 400. Etsy itself deletes by upgrade_id alone.

The answer

  • 200: deleted: true, with its change.
  • 202: the change, while Etsy is still answering. Follow it with Get change.
dry_run=true shows what the write would send and the Etsy calls it would make. It sends, charges and records nothing, but counts toward the per-minute write limit. A write that fails is not charged.
Alura checks that the upgrade is your shop’s before it writes. When Alura has never fetched the shop’s shipping profiles completely, it cannot tell, sends nothing and answers 409 settings_not_fetched. Start a sync, then retry.

Authorizations

Authorization
string
header
required

An API key: Authorization: Bearer alura_sk_....

Headers

Idempotency-Key
string

Makes a retry safe: the same key with the same request within 24 hours answers from the first write (with Idempotent-Replayed: true) and never writes to Etsy twice; a write that failed with nothing written (Retry-After set) is tried again under it. The same key with a different request is a 409 conflict; while the first request still runs, 409 idempotency_processing (or the same 202). Required for relative changes such as adjust_price, and to add a listing file, image or video, or to change the alt text of an image (each uploads to Etsy, so a blind retry would upload again); a dry_run=true needs none.

Required string length: 1 - 255

Path Parameters

id
string
required

The Etsy shipping profile ID. A profile outside the workspace is 404.

Pattern: ^[0-9]{1,20}$
Example:

"32001"

upgrade_id
string
required

The Etsy upgrade ID (upgrade_id). An upgrade of another profile is 404.

Pattern: ^[0-9]{1,20}$
Example:

"34001"

Query Parameters

type
enum<string>

Which upgrade, when the profile has a domestic and an international upgrade with this ID (Etsy reuses upgrade IDs); otherwise optional, and a type the upgrade is not is 404. It never changes the type.

Available options:
domestic,
international
dry_run
boolean

true: plan the write and send nothing: what it would change, the Etsy calls it would make, and nothing reserved, charged or recorded. Free; counts toward the per-minute write limit.

Response

OK: the write landed on Etsy (or, with dry_run=true, what it would do).

object
string
required
Allowed value: "workspace.shipping_upgrade"
id
string
required

The deleted object's Etsy ID.

shop_id
string
required

The Etsy shop ID, as a string.

deleted
boolean
required

Deleted on Etsy.

change
object
required

The write: its change ID and what landed.