Amazon EC2 Container Registry
amazonaws · Cloud
Amazon Elastic Container Registry Amazon Elastic Container Registry (Amazon ECR) is a managed container image registry service. Customers can use the familiar Docker CLI, or their preferred client, to push, pull, and manage images. Amazon ECR provides a secure, scalable, and reliable registry for your Docker or Open Container Initiative (OCI) images. Amazon ECR supports private repositories with resource-based permissions using IAM so that specific users or Amazon EC2 ins
Authentication
Sample Requests
Returns the scan findings for the specified image.
Hover any highlighted part to learn what it does
| X-Amz-Target | AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings?nextToken=example&maxResults=example" \ -H "X-Amz-Target: AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings"
import requests
params = {
"nextToken": "example",
"maxResults": "example"
}
headers = {
"X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings")
q := baseURL.Query()
q.Set("nextToken", "example")
q.Set("maxResults", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings")
uri.query = URI.encode_www_form({
"nextToken" => "example",
"maxResults" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings?" . http_build_query([
"nextToken" => "example",
"maxResults" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: AmazonEC2ContainerRegistry_V20150921.DescribeImageScanFindings"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns metadata about the images in a repository. Beginning with Docker version 1.9, the Docker client compresses image layers before pushing them to a V2 Docker registry. The output of the docker images command shows the uncompressed image size, so it may return a lar
Hover any highlighted part to learn what it does
| X-Amz-Target | AmazonEC2ContainerRegistry_V20150921.DescribeImages |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImages?nextToken=example&maxResults=example" \ -H "X-Amz-Target: AmazonEC2ContainerRegistry_V20150921.DescribeImages"
import requests
params = {
"nextToken": "example",
"maxResults": "example"
}
headers = {
"X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.DescribeImages"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImages",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImages');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'AmazonEC2ContainerRegistry_V20150921.DescribeImages'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImages")
q := baseURL.Query()
q.Set("nextToken", "example")
q.Set("maxResults", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "AmazonEC2ContainerRegistry_V20150921.DescribeImages")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImages")
uri.query = URI.encode_www_form({
"nextToken" => "example",
"maxResults" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AmazonEC2ContainerRegistry_V20150921.DescribeImages"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribeImages?" . http_build_query([
"nextToken" => "example",
"maxResults" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: AmazonEC2ContainerRegistry_V20150921.DescribeImages"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns the pull through cache rules for a registry.
Hover any highlighted part to learn what it does
| X-Amz-Target | AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules?nextToken=example&maxResults=example" \ -H "X-Amz-Target: AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules"
import requests
params = {
"nextToken": "example",
"maxResults": "example"
}
headers = {
"X-Amz-Target": "AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules');
url.searchParams.set('nextToken', 'example');
url.searchParams.set('maxResults', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules")
q := baseURL.Query()
q.Set("nextToken", "example")
q.Set("maxResults", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules")
uri.query = URI.encode_www_form({
"nextToken" => "example",
"maxResults" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/ecr/2015-09-21/#X-Amz-Target=AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules?" . http_build_query([
"nextToken" => "example",
"maxResults" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: AmazonEC2ContainerRegistry_V20150921.DescribePullThroughCacheRules"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with Amazon EC2 Container Registry?
Amazon EC2 Container Registry is a Cloud API. Developers commonly use cloud APIs for:
- provisioning and managing cloud infrastructure
- automating deployments and container orchestration
- monitoring uptime and performance metrics
- managing storage buckets and databases
- setting up auto-scaling and load balancing
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Amazon EC2 Container Registry is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?