---
title: "Deactivate a product"
method: POST
path: "/api/products/{id}/deactivate"
tags: ["products"]
---

# Deactivate a product

`POST /api/products/{id}/deactivate`

## Request

- Base URL: `https://api.depixapp.com`
- URL: `https://api.depixapp.com/api/products/{id}/deactivate`
- Auth: HTTP bearer

Hides the product from the public page and blocks new checkouts. Requires scope `merchant_write` on the API-key path.

## Path parameters

- `id` string, required

## Response `200`

Deactivated.

- SuccessResponse: Generic success acknowledgment.
  - `success` true, required: Always true on success.

## Other responses

- `401`: Missing/invalid credentials. `invalid_api_key` for a failed sk_* lookup (revoked/expired/unknown); `invalid_token` for a bad or missing JWT/Authorization header.
- `403`: The API key lacks the `merchant_write` scope required by this operation. May also be `account_blocked`, or an operation-specific 403 — see the error catalog.
- `404`: Product not found — includes rows owned by another account (ownership is never disclosed).
- `429`: Rate limited. Beyond the endpoint's own limit when set (`rate_limited`), API-key calls are also bounded by the shared per-merchant budget (`merchant_rate_limited`, default 30 req/min across all endpoints) and by the key's own rate limit when configured (`rate_limited`). Retry after `retry_after` seconds (also in the Retry-After header).

---

[API](https://skmtc.dev/depixapp/apis/depix-api.md) · [All operations](https://skmtc.dev/depixapp/apis/depix-api/llms.txt) · [OpenAPI document](https://skmtc.dev/depixapp/apis/depix-api/revisions/04094536dd0f?raw)
