Hierarchy by games
curl --request POST \
--url https://api.managem.co.uk/search/hierarchy/{game} \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"filters": [
{}
],
"facets": {
"Game": [
"<string>"
],
"Product Type": [
"<string>"
],
"Rarity": [
"<string>"
],
"Series": [
"<string>"
],
"Set": [
"<string>"
],
"Illustrator": [
"<string>"
],
"Condition": [
"<string>"
],
"Grading": [],
"Price": [],
"Quantity": [],
"Valid": [],
"Hidden": [],
"Availability": [
"In Stock"
],
"Category": [
"<string>"
]
},
"from": 0,
"size": 25
}
'import requests
url = "https://api.managem.co.uk/search/hierarchy/{game}"
payload = {
"query": "<string>",
"filters": [{}],
"facets": {
"Game": ["<string>"],
"Product Type": ["<string>"],
"Rarity": ["<string>"],
"Series": ["<string>"],
"Set": ["<string>"],
"Illustrator": ["<string>"],
"Condition": ["<string>"],
"Grading": [],
"Price": [],
"Quantity": [],
"Valid": [],
"Hidden": [],
"Availability": ["In Stock"],
"Category": ["<string>"]
},
"from": 0,
"size": 25
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
query: '<string>',
filters: [{}],
facets: {
Game: ['<string>'],
'Product Type': ['<string>'],
Rarity: ['<string>'],
Series: ['<string>'],
Set: ['<string>'],
Illustrator: ['<string>'],
Condition: ['<string>'],
Grading: [],
Price: [],
Quantity: [],
Valid: [],
Hidden: [],
Availability: ['In Stock'],
Category: ['<string>']
},
from: 0,
size: 25
})
};
fetch('https://api.managem.co.uk/search/hierarchy/{game}', 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.managem.co.uk/search/hierarchy/{game}",
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([
'query' => '<string>',
'filters' => [
[
]
],
'facets' => [
'Game' => [
'<string>'
],
'Product Type' => [
'<string>'
],
'Rarity' => [
'<string>'
],
'Series' => [
'<string>'
],
'Set' => [
'<string>'
],
'Illustrator' => [
'<string>'
],
'Condition' => [
'<string>'
],
'Grading' => [
],
'Price' => [
],
'Quantity' => [
],
'Valid' => [
],
'Hidden' => [
],
'Availability' => [
'In Stock'
],
'Category' => [
'<string>'
]
],
'from' => 0,
'size' => 25
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.managem.co.uk/search/hierarchy/{game}"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"filters\": [\n {}\n ],\n \"facets\": {\n \"Game\": [\n \"<string>\"\n ],\n \"Product Type\": [\n \"<string>\"\n ],\n \"Rarity\": [\n \"<string>\"\n ],\n \"Series\": [\n \"<string>\"\n ],\n \"Set\": [\n \"<string>\"\n ],\n \"Illustrator\": [\n \"<string>\"\n ],\n \"Condition\": [\n \"<string>\"\n ],\n \"Grading\": [],\n \"Price\": [],\n \"Quantity\": [],\n \"Valid\": [],\n \"Hidden\": [],\n \"Availability\": [\n \"In Stock\"\n ],\n \"Category\": [\n \"<string>\"\n ]\n },\n \"from\": 0,\n \"size\": 25\n}")
req, _ := http.NewRequest("POST", url, payload)
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.managem.co.uk/search/hierarchy/{game}")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"filters\": [\n {}\n ],\n \"facets\": {\n \"Game\": [\n \"<string>\"\n ],\n \"Product Type\": [\n \"<string>\"\n ],\n \"Rarity\": [\n \"<string>\"\n ],\n \"Series\": [\n \"<string>\"\n ],\n \"Set\": [\n \"<string>\"\n ],\n \"Illustrator\": [\n \"<string>\"\n ],\n \"Condition\": [\n \"<string>\"\n ],\n \"Grading\": [],\n \"Price\": [],\n \"Quantity\": [],\n \"Valid\": [],\n \"Hidden\": [],\n \"Availability\": [\n \"In Stock\"\n ],\n \"Category\": [\n \"<string>\"\n ]\n },\n \"from\": 0,\n \"size\": 25\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.managem.co.uk/search/hierarchy/{game}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"<string>\",\n \"filters\": [\n {}\n ],\n \"facets\": {\n \"Game\": [\n \"<string>\"\n ],\n \"Product Type\": [\n \"<string>\"\n ],\n \"Rarity\": [\n \"<string>\"\n ],\n \"Series\": [\n \"<string>\"\n ],\n \"Set\": [\n \"<string>\"\n ],\n \"Illustrator\": [\n \"<string>\"\n ],\n \"Condition\": [\n \"<string>\"\n ],\n \"Grading\": [],\n \"Price\": [],\n \"Quantity\": [],\n \"Valid\": [],\n \"Hidden\": [],\n \"Availability\": [\n \"In Stock\"\n ],\n \"Category\": [\n \"<string>\"\n ]\n },\n \"from\": 0,\n \"size\": 25\n}"
response = http.request(request)
puts response.read_body{
"total": 123,
"hits": [
{
"urn": "<string>",
"type": "card",
"game": "Pokemon",
"title": "<string>",
"name": "<string>",
"rarity": "<string>",
"set": {
"name": "<string>",
"urn": "<string>",
"counts": {
"printed": 123,
"total": 123
},
"references": [
"<string>"
],
"size": 123,
"symbol": {
"url": "<string>"
},
"released": "<string>"
},
"series": {
"name": "<string>",
"urn": "<string>"
},
"images": [
{
"urn": "<string>",
"url": "<string>",
"illustrator": "<string>"
}
],
"number": "<string>",
"description": "<string>",
"price": 123,
"available": 0,
"quantity": 0,
"min": {
"price": 123
},
"max": {
"price": 123
}
}
],
"facets": {}
}Hierarchy
Hierarchy by games
Search within a single game node from the hierarchy.
Use this for game-level pages like “Pokemon”, “Yu-Gi-Oh!”, and similar browse routes.
Behavior:
- Resolves the
{game}slug to hierarchy facets. - Merges those facets with any user-provided query filters.
- Runs a normal search using the merged query.
Failure behavior:
- Returns
404if the game slug does not exist in the current hierarchy.
POST
/
search
/
hierarchy
/
{game}
Hierarchy by games
curl --request POST \
--url https://api.managem.co.uk/search/hierarchy/{game} \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"filters": [
{}
],
"facets": {
"Game": [
"<string>"
],
"Product Type": [
"<string>"
],
"Rarity": [
"<string>"
],
"Series": [
"<string>"
],
"Set": [
"<string>"
],
"Illustrator": [
"<string>"
],
"Condition": [
"<string>"
],
"Grading": [],
"Price": [],
"Quantity": [],
"Valid": [],
"Hidden": [],
"Availability": [
"In Stock"
],
"Category": [
"<string>"
]
},
"from": 0,
"size": 25
}
'import requests
url = "https://api.managem.co.uk/search/hierarchy/{game}"
payload = {
"query": "<string>",
"filters": [{}],
"facets": {
"Game": ["<string>"],
"Product Type": ["<string>"],
"Rarity": ["<string>"],
"Series": ["<string>"],
"Set": ["<string>"],
"Illustrator": ["<string>"],
"Condition": ["<string>"],
"Grading": [],
"Price": [],
"Quantity": [],
"Valid": [],
"Hidden": [],
"Availability": ["In Stock"],
"Category": ["<string>"]
},
"from": 0,
"size": 25
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
query: '<string>',
filters: [{}],
facets: {
Game: ['<string>'],
'Product Type': ['<string>'],
Rarity: ['<string>'],
Series: ['<string>'],
Set: ['<string>'],
Illustrator: ['<string>'],
Condition: ['<string>'],
Grading: [],
Price: [],
Quantity: [],
Valid: [],
Hidden: [],
Availability: ['In Stock'],
Category: ['<string>']
},
from: 0,
size: 25
})
};
fetch('https://api.managem.co.uk/search/hierarchy/{game}', 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.managem.co.uk/search/hierarchy/{game}",
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([
'query' => '<string>',
'filters' => [
[
]
],
'facets' => [
'Game' => [
'<string>'
],
'Product Type' => [
'<string>'
],
'Rarity' => [
'<string>'
],
'Series' => [
'<string>'
],
'Set' => [
'<string>'
],
'Illustrator' => [
'<string>'
],
'Condition' => [
'<string>'
],
'Grading' => [
],
'Price' => [
],
'Quantity' => [
],
'Valid' => [
],
'Hidden' => [
],
'Availability' => [
'In Stock'
],
'Category' => [
'<string>'
]
],
'from' => 0,
'size' => 25
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.managem.co.uk/search/hierarchy/{game}"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"filters\": [\n {}\n ],\n \"facets\": {\n \"Game\": [\n \"<string>\"\n ],\n \"Product Type\": [\n \"<string>\"\n ],\n \"Rarity\": [\n \"<string>\"\n ],\n \"Series\": [\n \"<string>\"\n ],\n \"Set\": [\n \"<string>\"\n ],\n \"Illustrator\": [\n \"<string>\"\n ],\n \"Condition\": [\n \"<string>\"\n ],\n \"Grading\": [],\n \"Price\": [],\n \"Quantity\": [],\n \"Valid\": [],\n \"Hidden\": [],\n \"Availability\": [\n \"In Stock\"\n ],\n \"Category\": [\n \"<string>\"\n ]\n },\n \"from\": 0,\n \"size\": 25\n}")
req, _ := http.NewRequest("POST", url, payload)
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.managem.co.uk/search/hierarchy/{game}")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"filters\": [\n {}\n ],\n \"facets\": {\n \"Game\": [\n \"<string>\"\n ],\n \"Product Type\": [\n \"<string>\"\n ],\n \"Rarity\": [\n \"<string>\"\n ],\n \"Series\": [\n \"<string>\"\n ],\n \"Set\": [\n \"<string>\"\n ],\n \"Illustrator\": [\n \"<string>\"\n ],\n \"Condition\": [\n \"<string>\"\n ],\n \"Grading\": [],\n \"Price\": [],\n \"Quantity\": [],\n \"Valid\": [],\n \"Hidden\": [],\n \"Availability\": [\n \"In Stock\"\n ],\n \"Category\": [\n \"<string>\"\n ]\n },\n \"from\": 0,\n \"size\": 25\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.managem.co.uk/search/hierarchy/{game}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"<string>\",\n \"filters\": [\n {}\n ],\n \"facets\": {\n \"Game\": [\n \"<string>\"\n ],\n \"Product Type\": [\n \"<string>\"\n ],\n \"Rarity\": [\n \"<string>\"\n ],\n \"Series\": [\n \"<string>\"\n ],\n \"Set\": [\n \"<string>\"\n ],\n \"Illustrator\": [\n \"<string>\"\n ],\n \"Condition\": [\n \"<string>\"\n ],\n \"Grading\": [],\n \"Price\": [],\n \"Quantity\": [],\n \"Valid\": [],\n \"Hidden\": [],\n \"Availability\": [\n \"In Stock\"\n ],\n \"Category\": [\n \"<string>\"\n ]\n },\n \"from\": 0,\n \"size\": 25\n}"
response = http.request(request)
puts response.read_body{
"total": 123,
"hits": [
{
"urn": "<string>",
"type": "card",
"game": "Pokemon",
"title": "<string>",
"name": "<string>",
"rarity": "<string>",
"set": {
"name": "<string>",
"urn": "<string>",
"counts": {
"printed": 123,
"total": 123
},
"references": [
"<string>"
],
"size": 123,
"symbol": {
"url": "<string>"
},
"released": "<string>"
},
"series": {
"name": "<string>",
"urn": "<string>"
},
"images": [
{
"urn": "<string>",
"url": "<string>",
"illustrator": "<string>"
}
],
"number": "<string>",
"description": "<string>",
"price": 123,
"available": 0,
"quantity": 0,
"min": {
"price": 123
},
"max": {
"price": 123
}
}
],
"facets": {}
}Path Parameters
The slug of the game to retrieve results for
Example:
"pokemon"
Body
application/json
A search query includes a free text query property, refinements in the form of facets, pagination controls and optional sorting.
One or more free text search terms
Show child attributes
Show child attributes
Facets to refine the search results. Values are case-sensitive unless noted otherwise.
Show child attributes
Show child attributes
Offset for pagination
Number of results to return
Required range:
1 <= x <= 50Sort results by field and order
Show child attributes
Show child attributes
⌘I