curl --request POST \
--url https://api.bunny.net/mc/registries/images/find \
--header 'AccessKey: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"image": "<string>",
"registryIds": [
"<string>"
]
}
'import requests
url = "https://api.bunny.net/mc/registries/images/find"
payload = {
"image": "<string>",
"registryIds": ["<string>"]
}
headers = {
"AccessKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {AccessKey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({image: '<string>', registryIds: ['<string>']})
};
fetch('https://api.bunny.net/mc/registries/images/find', 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.bunny.net/mc/registries/images/find",
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([
'image' => '<string>',
'registryIds' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"AccessKey: <api-key>",
"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.bunny.net/mc/registries/images/find"
payload := strings.NewReader("{\n \"image\": \"<string>\",\n \"registryIds\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("AccessKey", "<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.bunny.net/mc/registries/images/find")
.header("AccessKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"image\": \"<string>\",\n \"registryIds\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bunny.net/mc/registries/images/find")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["AccessKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"image\": \"<string>\",\n \"registryIds\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"imageNamespace": "<string>",
"imageName": "<string>",
"registryId": "<string>",
"registryHostname": "<string>",
"isPublic": true,
"imageTag": "<string>",
"imageDigest": "<string>"
}
],
"meta": {
"totalItems": 123
},
"cursor": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}Find Container Image
Parses an image reference like “ghcr.io/owner/app:v1” or “owner/app” and checks whether the image tag exists in the selected registries of the user (only those of the reference’s host when it has one). Returns every registry that has the image tag with its id, hostname, the image namespace, name, tag and digest.
curl --request POST \
--url https://api.bunny.net/mc/registries/images/find \
--header 'AccessKey: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"image": "<string>",
"registryIds": [
"<string>"
]
}
'import requests
url = "https://api.bunny.net/mc/registries/images/find"
payload = {
"image": "<string>",
"registryIds": ["<string>"]
}
headers = {
"AccessKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {AccessKey: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({image: '<string>', registryIds: ['<string>']})
};
fetch('https://api.bunny.net/mc/registries/images/find', 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.bunny.net/mc/registries/images/find",
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([
'image' => '<string>',
'registryIds' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"AccessKey: <api-key>",
"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.bunny.net/mc/registries/images/find"
payload := strings.NewReader("{\n \"image\": \"<string>\",\n \"registryIds\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("AccessKey", "<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.bunny.net/mc/registries/images/find")
.header("AccessKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"image\": \"<string>\",\n \"registryIds\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bunny.net/mc/registries/images/find")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["AccessKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"image\": \"<string>\",\n \"registryIds\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"items": [
{
"imageNamespace": "<string>",
"imageName": "<string>",
"registryId": "<string>",
"registryHostname": "<string>",
"isPublic": true,
"imageTag": "<string>",
"imageDigest": "<string>"
}
],
"meta": {
"totalItems": 123
},
"cursor": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}{
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": [
{
"message": "<string>",
"field": "<string>"
}
],
"id": "<string>"
}Authorizations
Please enter a valid personal API key.
Body
Image reference in the docker format: [registry/]namespace/name[:tag], e.g. "ghcr.io/owner/app:v1" or "owner/app". Without a registry host all of the user's registries are searched. The tag defaults to "latest".
1 - 512The registries to search: ids of the user's registries, or "dockerhub" / "github". At least one is required; ids that are not the user's registries are skipped. With a registry host in the image reference, only the selected registries of that host are searched.
1Response
The image tag exists in at least one of the user's registries; every such registry is listed.