Archive Custom Product
curl --request POST \
--url https://api.example.com/v1/custom-products/{productKey}/archive \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"archived": true
}
'import requests
url = "https://api.example.com/v1/custom-products/{productKey}/archive"
payload = { "archived": True }
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({archived: true})
};
fetch('https://api.example.com/v1/custom-products/{productKey}/archive', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/custom-products/{productKey}/archive",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'archived' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/custom-products/{productKey}/archive"
payload := strings.NewReader("{\n \"archived\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/v1/custom-products/{productKey}/archive")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"archived\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/custom-products/{productKey}/archive")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"archived\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"key": "<string>",
"name": "<string>",
"isDefault": true,
"version": 123,
"stripeProductId": "<string>",
"metadata": {},
"prices": [
{
"id": "<string>",
"stripePriceId": "<string>",
"currency": "<string>",
"unitAmount": 123,
"recurringInterval": "<string>",
"recurringIntervalCount": 123,
"isActive": true,
"isDefault": true
}
],
"featureAccess": [
{
"featureKey": "<string>",
"name": "<string>",
"hasAccess": true,
"limit": 123,
"isUnlimited": true
}
]
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Products
Archive Custom Product
Archive or unarchive a custom product. Archiving clears its default status.
POST
/
v1
/
custom-products
/
{productKey}
/
archive
Archive Custom Product
curl --request POST \
--url https://api.example.com/v1/custom-products/{productKey}/archive \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"archived": true
}
'import requests
url = "https://api.example.com/v1/custom-products/{productKey}/archive"
payload = { "archived": True }
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({archived: true})
};
fetch('https://api.example.com/v1/custom-products/{productKey}/archive', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/custom-products/{productKey}/archive",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'archived' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/custom-products/{productKey}/archive"
payload := strings.NewReader("{\n \"archived\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/v1/custom-products/{productKey}/archive")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"archived\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/custom-products/{productKey}/archive")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"archived\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"key": "<string>",
"name": "<string>",
"isDefault": true,
"version": 123,
"stripeProductId": "<string>",
"metadata": {},
"prices": [
{
"id": "<string>",
"stripePriceId": "<string>",
"currency": "<string>",
"unitAmount": 123,
"recurringInterval": "<string>",
"recurringIntervalCount": 123,
"isActive": true,
"isDefault": true
}
],
"featureAccess": [
{
"featureKey": "<string>",
"name": "<string>",
"hasAccess": true,
"limit": 123,
"isUnlimited": true
}
]
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Headers
API key from your PriceOS dashboard.
Path Parameters
Product key.
Body
application/json
Whether the product should be archived.
Response
Custom product archived
Product.
Product ID.
Product key.
Product name.
Product type.
Available options:
stripe, custom Whether this is the default custom product.
Product version number.
Stripe product ID (Stripe products only).
Custom product metadata (custom products only).
Show child attributes
Show child attributes
Stripe prices linked to the product.
Show child attributes
Show child attributes
Feature access entries configured for this product.
Show child attributes
Show child attributes
⌘I