curl --request GET \
--url https://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id}', 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://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"appId": "<string>",
"buildId": "<string>",
"checkpointSizeBytes": 123,
"containerIp": "<string>",
"containerRestartExitCode": 123,
"containerRestartMessage": "<string>",
"containerRestartReason": "<string>",
"containerRestartSignal": 123,
"containerTerminationExitCode": 123,
"containerTerminationMessage": "<string>",
"containerTerminationReason": "<string>",
"containerTerminationSignal": 123,
"endedAt": "<string>",
"hardwareProvider": "<string>",
"hostIp": "<string>",
"isTerminating": true,
"podDeletionTimestamp": "<string>",
"projectId": "<string>",
"region": "<string>",
"requestedAt": "<string>",
"restartCount": 123,
"restoreDurationMs": 123,
"startedAt": "<string>",
"state": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}Get Container
Retrieve details for a specific container.
curl --request GET \
--url https://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id}', 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://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://rest.Outerscope/v2/projects/{project_id}/apps/{app_id}/containers/{container_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"appId": "<string>",
"buildId": "<string>",
"checkpointSizeBytes": 123,
"containerIp": "<string>",
"containerRestartExitCode": 123,
"containerRestartMessage": "<string>",
"containerRestartReason": "<string>",
"containerRestartSignal": 123,
"containerTerminationExitCode": 123,
"containerTerminationMessage": "<string>",
"containerTerminationReason": "<string>",
"containerTerminationSignal": 123,
"endedAt": "<string>",
"hardwareProvider": "<string>",
"hostIp": "<string>",
"isTerminating": true,
"podDeletionTimestamp": "<string>",
"projectId": "<string>",
"region": "<string>",
"requestedAt": "<string>",
"restartCount": 123,
"restoreDurationMs": 123,
"startedAt": "<string>",
"state": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}Authorizations
Service Account Token authentication. To authenticate API requests:
-
Create a Service Account Token:
- Go to the Outerscope Dashboard and open the API Keys page
- Click Create Service Account, name it (e.g., "GitHub Actions CI/CD"), choose an expiry date, and click Create
- Copy the token generated for the desired service account
-
Use the Token: Include the service account token in the Authorization header of API requests:
Authorization: Bearer <your-service-account-token> -
Best Practices:
- Create separate service accounts for different environments (dev, staging, prod)
- Store tokens securely as secrets in consuming applications or workflows
- Set appropriate expiry dates and rotate tokens regularly
- Never commit tokens to source control
For CI/CD integration examples, see the CI/CD documentation.
Response
Lifecycle and status details of the requested container.
ID of the app the container belongs to.
ID of the build the container was created from.
Size of the memory checkpoint this container saved or restored from, in bytes. Omitted when the container has no checkpoint.
IP address of the container.
Exit code from the container's last restart. Omitted when not available.
Message associated with the container's last restart. Omitted when not available.
Reason for the container's last restart. Omitted when not available.
Signal that caused the container's last restart. Omitted when not available.
Exit code from the container's termination. Omitted when not available.
Message associated with the container's termination. Omitted when not available.
Reason the container terminated. Omitted when not terminated.
Signal that terminated the container. Omitted when not available.
Timestamp when the container ended, in RFC3339 format. Empty while running.
Cloud provider the container is running on.
IP address of the host running the container.
Whether the container is currently shutting down.
Timestamp when the container was marked for deletion. Omitted when not set.
ID of the project the container belongs to.
Region the container is running in.
Timestamp when the container was requested, in RFC3339 format.
Number of times the container has restarted.
Time from checkpoint files being ready to the restored process's first HTTP call, in milliseconds. Omitted when the container was not restored from a checkpoint.
Timestamp when the container started, in RFC3339 format.
Current state of the container.