Preview a marketplace install
curl --request POST \
--url https://api.example.com/api/marketplace/install/preview \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"ref": "<string>",
"route_mounts": {},
"version": "<string>"
}
'import requests
url = "https://api.example.com/api/marketplace/install/preview"
payload = {
"ref": "<string>",
"route_mounts": {},
"version": "<string>"
}
headers = {
"x-api-key": "<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': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({ref: '<string>', route_mounts: {}, version: '<string>'})
};
fetch('https://api.example.com/api/marketplace/install/preview', 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/api/marketplace/install/preview",
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([
'ref' => '<string>',
'route_mounts' => [
],
'version' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <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/api/marketplace/install/preview"
payload := strings.NewReader("{\n \"ref\": \"<string>\",\n \"route_mounts\": {},\n \"version\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<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/api/marketplace/install/preview")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ref\": \"<string>\",\n \"route_mounts\": {},\n \"version\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/marketplace/install/preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ref\": \"<string>\",\n \"route_mounts\": {},\n \"version\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"collisions": [
{
"conflict_owner": "<string>",
"conflict_path": "<string>",
"full_path": "<string>",
"item": "<string>",
"methods": [
"<string>"
]
}
],
"delivery": "<string>",
"items": [
{
"base": "<string>",
"default_base": "<string>",
"item": "<string>",
"kind": "<string>",
"routes": [
{
"full_path": "<string>",
"methods": [
"<string>"
],
"path": "<string>",
"public": true
}
]
}
],
"missing_env": [
"<string>"
],
"new_public_routes": [
{
"full_path": "<string>",
"item": "<string>",
"methods": [
"<string>"
]
}
],
"public_routes": [
{
"full_path": "<string>",
"item": "<string>",
"methods": [
"<string>"
]
}
],
"ref": "<string>",
"required_env": [
{
"name": "<string>",
"secret": true
}
],
"requires_public_acceptance": true,
"version": "<string>"
}
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}marketplace
Preview a marketplace install
Resolve a candidate install/update and report its routes WITHOUT changing any
state: the resolved routes per item with route_mounts overrides applied, the
collisions against the live registry (excluding the plugin’s own routes on an
update preview), the public routes requiring acceptance, and the new public
rows an update has not already approved (see :meth:Installer.preview).
POST
/
api
/
marketplace
/
install
/
preview
Preview a marketplace install
curl --request POST \
--url https://api.example.com/api/marketplace/install/preview \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"ref": "<string>",
"route_mounts": {},
"version": "<string>"
}
'import requests
url = "https://api.example.com/api/marketplace/install/preview"
payload = {
"ref": "<string>",
"route_mounts": {},
"version": "<string>"
}
headers = {
"x-api-key": "<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': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({ref: '<string>', route_mounts: {}, version: '<string>'})
};
fetch('https://api.example.com/api/marketplace/install/preview', 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/api/marketplace/install/preview",
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([
'ref' => '<string>',
'route_mounts' => [
],
'version' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <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/api/marketplace/install/preview"
payload := strings.NewReader("{\n \"ref\": \"<string>\",\n \"route_mounts\": {},\n \"version\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<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/api/marketplace/install/preview")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ref\": \"<string>\",\n \"route_mounts\": {},\n \"version\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/marketplace/install/preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ref\": \"<string>\",\n \"route_mounts\": {},\n \"version\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"collisions": [
{
"conflict_owner": "<string>",
"conflict_path": "<string>",
"full_path": "<string>",
"item": "<string>",
"methods": [
"<string>"
]
}
],
"delivery": "<string>",
"items": [
{
"base": "<string>",
"default_base": "<string>",
"item": "<string>",
"kind": "<string>",
"routes": [
{
"full_path": "<string>",
"methods": [
"<string>"
],
"path": "<string>",
"public": true
}
]
}
],
"missing_env": [
"<string>"
],
"new_public_routes": [
{
"full_path": "<string>",
"item": "<string>",
"methods": [
"<string>"
]
}
],
"public_routes": [
{
"full_path": "<string>",
"item": "<string>",
"methods": [
"<string>"
]
}
],
"ref": "<string>",
"required_env": [
{
"name": "<string>",
"secret": true
}
],
"requires_public_acceptance": true,
"version": "<string>"
}
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}Authorizations
Body
application/json
Response
Success.
A no-side-effect install/update preview: the resolved routes per item, the
collisions against the live registry, the public rows requiring acceptance, the
new_public_routes an update has not already approved, the required and missing
env vars, and the delivery form.
Show child attributes
Show child attributes

