Biklo for developersTESTsandbox-api.biklo.comchange

Archive a product

POST/v1/products/{id}/archive

scope products.write

Takes the listing off the marketplace: out of search, the storefront and every cart. Use it when a product leaves your catalogue — stock 0 alone keeps it visible and unbuyable (a sell-out by Biklo orders is different: that archives it, and restocking relists it). Archived as if you had switched it off in the dashboard, so an order that is cancelled later never puts it back on sale. Idempotent; the listing, its id and its history stay, and POST /v1/products/{id}/unarchive brings it back.

Response#

Returns the same object as One product (GET /v1/products/{id}), described in full there.

Example

{
    "id": 237224,
    "external_id": "ERP-1001",
    "sku": "MTB-29-001",
    "gtin": null,
    "mpn": null,
    "ean": null,
    "title": "Bicicleta MTB Hardtail 29 inch",
    "description": "A hardtail mountain bike in very good condition, barely used.",
    "category_id": 4291,
    "status": "archived",
    "is_reviewed": true,
    "price": {
        "amount": 249900,
        "currency": "RON",
        "negotiable": true
    },
    "stock": 4,
    "shipping": {
        "ship_with_us": true,
        "free_shipping": false,
        "shipping_class": "bike",
        "parcel_tier": "large",
        "weight_kg": 14.5,
        "width_cm": 80,
        "height_cm": 120,
        "length_cm": 180
    },
    "group_id": null,
    "images": [
        {
            "id": 108876841,
            "position": 0,
            "path": "files/237224/mtb-front.jpg",
            "source_url": null
        }
    ],
    "attributes": [
        {
            "field_id": 32,
            "option_id": 226,
            "value": null
        }
    ],
    "created_at": "2026-09-01T08:14:22Z",
    "updated_at": "2026-09-11T16:02:51Z"
}

Failures use the shared error envelope — a machine-readable code and a request_id to quote to support. Error handling.

curl -X POST "https://sandbox-api.biklo.com/v1/products/711/archive" \
  -H "Authorization: Bearer bk_test_YOUR_KEY"
<?php

$ch = curl_init('https://sandbox-api.biklo.com/v1/products/711/archive');

curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST  => 'POST',
    CURLOPT_HTTPHEADER     => [
        'Authorization: Bearer bk_test_YOUR_KEY',
    ],
]);

$response = json_decode(curl_exec($ch), true);
curl_close($ch);
using System.Net.Http;
using System.Net.Http.Headers;

var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
    new AuthenticationHeaderValue("Bearer", "bk_test_YOUR_KEY");

var request = new HttpRequestMessage(
    new HttpMethod("POST"),
    "https://sandbox-api.biklo.com/v1/products/711/archive");

var response = await client.SendAsync(request);
var json = await response.Content.ReadAsStringAsync();
import requests

response = requests.post(
    "https://sandbox-api.biklo.com/v1/products/711/archive",
    headers={"Authorization": "Bearer bk_test_YOUR_KEY"},
)

data = response.json()
const response = await fetch("https://sandbox-api.biklo.com/v1/products/711/archive", {
  method: "POST",
  headers: {
    Authorization: "Bearer bk_test_YOUR_KEY"
  }
});

const data = await response.json();
import java.net.http.*;
import java.net.URI;

var client = HttpClient.newHttpClient();

var request = HttpRequest.newBuilder()
    .uri(URI.create("https://sandbox-api.biklo.com/v1/products/711/archive"))
    .header("Authorization", "Bearer bk_test_YOUR_KEY")
    .method("POST", HttpRequest.BodyPublishers.noBody())
    .build();

var response = client.send(request, HttpResponse.BodyHandlers.ofString());