IBM Containers API
bluemix · Developer Tools
Containers are virtual software objects that include all the elements that an app needs to run. A container has the benefits of resource isolation and allocation but is more portable and efficient than, for example, a virtual machine. This documentation describes the IBM Containers API, which is based on the Docker Remote API. The API provides endpoints that you can use to create and manage your single containers and container groups in Bluemix. Endpoints are summarized under the following tag
Authentication
Sample Requests
This endpoint returns a list of all public IP addresses that are allocated to a space and not bound to a container. If you want to list all public IP addresses that are allocated to a space, even those that are already bound to a container, use the `all` query parameter (corrsponding IBM Containers
Hover any highlighted part to learn what it does
| X-Auth-Token | example |
| X-Auth-Project-Id | example |
curl -X GET "https://api.apis.guru/v2/specs/bluemix.net/containers/3.0.0/containers/floating-ips?all=true" \ -H "X-Auth-Token: example" \ -H "X-Auth-Project-Id: example"
import requests
params = {
"all": "true"
}
headers = {
"X-Auth-Token": "example",
"X-Auth-Project-Id": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/bluemix.net/containers/3.0.0/containers/floating-ips",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/bluemix.net/containers/3.0.0/containers/floating-ips');
url.searchParams.set('all', 'true');
const response = await fetch(url, {
headers: {
'X-Auth-Token': 'example',
'X-Auth-Project-Id': 'example'
},
});
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/bluemix.net/containers/3.0.0/containers/floating-ips")
q := baseURL.Query()
q.Set("all", "true")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
req.Header.Set("X-Auth-Token", "example")
req.Header.Set("X-Auth-Project-Id", "example")
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/bluemix.net/containers/3.0.0/containers/floating-ips")
uri.query = URI.encode_www_form({
"all" => "true"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
req["X-Auth-Token"] = "example"
req["X-Auth-Project-Id"] = "example"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/bluemix.net/containers/3.0.0/containers/floating-ips?" . http_build_query([
"all" => "true"
]);
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"X-Auth-Token: example",
"X-Auth-Project-Id: example"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));This endpoint returns a list of all single containers in a space that are currently in a running state (corresponding IBM Containers command: `cf ic ps`). To list all single containers independent of their current state, set the `all` query parameter to true.
Hover any highlighted part to learn what it does
| X-Auth-Token | example |
| X-Auth-Project-Id | example |
curl -X GET "https://api.apis.guru/v2/specs/bluemix.net/containers/3.0.0/containers/json?all=example&filters=example" \ -H "X-Auth-Token: example" \ -H "X-Auth-Project-Id: example"
import requests
params = {
"all": "example",
"filters": "example"
}
headers = {
"X-Auth-Token": "example",
"X-Auth-Project-Id": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/bluemix.net/containers/3.0.0/containers/json",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/bluemix.net/containers/3.0.0/containers/json');
url.searchParams.set('all', 'example');
url.searchParams.set('filters', 'example');
const response = await fetch(url, {
headers: {
'X-Auth-Token': 'example',
'X-Auth-Project-Id': 'example'
},
});
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/bluemix.net/containers/3.0.0/containers/json")
q := baseURL.Query()
q.Set("all", "example")
q.Set("filters", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
req.Header.Set("X-Auth-Token", "example")
req.Header.Set("X-Auth-Project-Id", "example")
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/bluemix.net/containers/3.0.0/containers/json")
uri.query = URI.encode_www_form({
"all" => "example",
"filters" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
req["X-Auth-Token"] = "example"
req["X-Auth-Project-Id"] = "example"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/bluemix.net/containers/3.0.0/containers/json?" . http_build_query([
"all" => "example",
"filters" => "example"
]);
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"X-Auth-Token: example",
"X-Auth-Project-Id: example"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));This endpoint returns the TLS (Transport Layer Security) certificate to the user (corresponding IBM Containers command: `cf ic login`). The TLS certificate is a SSL certificate that is used to authenticate the user's CLI with the IBM Containers service and to establish a secure communication between
Hover any highlighted part to learn what it does
| X-Auth-Token | example |
| X-Auth-Project-Id | example |
curl -X GET "https://api.apis.guru/v2/specs/bluemix.net/containers/3.0.0/tlskey" \ -H "X-Auth-Token: example" \ -H "X-Auth-Project-Id: example"
import requests
headers = {
"X-Auth-Token": "example",
"X-Auth-Project-Id": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/bluemix.net/containers/3.0.0/tlskey",
headers=headers,
)
print(response.json())const url = 'https://api.apis.guru/v2/specs/bluemix.net/containers/3.0.0/tlskey';
const response = await fetch(url, {
headers: {
'X-Auth-Token': 'example',
'X-Auth-Project-Id': 'example'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
targetURL := "https://api.apis.guru/v2/specs/bluemix.net/containers/3.0.0/tlskey"
req, _ := http.NewRequest("GET", targetURL, nil)
req.Header.Set("X-Auth-Token", "example")
req.Header.Set("X-Auth-Project-Id", "example")
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/bluemix.net/containers/3.0.0/tlskey")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
req["X-Auth-Token"] = "example"
req["X-Auth-Project-Id"] = "example"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/bluemix.net/containers/3.0.0/tlskey";
$opts = ["http" => [
"method" => "GET",
"header" => implode("\r\n", [
"X-Auth-Token: example",
"X-Auth-Project-Id: example"
]),
]];
$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 IBM Containers API?
IBM Containers API is a Developer Tools API. Developers commonly use developer tools APIs for:
- automating code review and quality checks
- integrating CI/CD pipelines and build systems
- managing feature flags and A/B tests
- monitoring errors and application performance
- generating and validating test data
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. IBM Containers API 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?