Skip to main content
GET
/
v1
/
token
TypeScript
import { Metadata, SaladCloudImdsSdk } from '@saladtechnologies-oss/salad-cloud-imds-sdk';

(async () => {
  const saladCloudImdsSdk = new SaladCloudImdsSdk({});

  const metadata = Metadata.TRUE_;

  const { data } = await saladCloudImdsSdk.metadata.getToken({
    metadata: metadata,
  });

  console.log(data);
})();
using Salad.Cloud.IMDS.SDK;
using Salad.Cloud.IMDS.SDK.Config;
using Salad.Cloud.IMDS.SDK.Models;

var config = new SaladCloudImdsSdkConfig{};

var client = new SaladCloudImdsSdkClient(config);

var response = await client.Metadata.GetTokenAsync(Metadata1.True_);

Console.WriteLine(response);
import (
"fmt"
"encoding/json"
"context"
"github.com/saladtechnologies/salad-cloud-imds-sdk-go/pkg/saladcloudimdssdkconfig"
"github.com/saladtechnologies/salad-cloud-imds-sdk-go/pkg/saladcloudimdssdk"
"github.com/saladtechnologies/salad-cloud-imds-sdk-go/pkg/util"
"github.com/saladtechnologies/salad-cloud-imds-sdk-go/pkg/metadata"
)

config := saladcloudimdssdkconfig.NewConfig()

client := saladcloudimdssdk.NewSaladCloudImdsSdk(config)

metadata := metadata.METADATA_TRUE

params := metadata.GetTokenRequestParams{
Metadata: &metadata,
}

response, err := client.Metadata.GetToken(context.Background(), params)
if err != nil {
panic(err)
}

fmt.Println(response)
from salad_cloud_imds_sdk import SaladCloudImdsSdk
from salad_cloud_imds_sdk.models import Metadata

sdk = SaladCloudImdsSdk(
timeout=10000
)

result = sdk.metadata.get_token(metadata="true")

print(result)
import com.salad.cloud.imdssdk.SaladCloudImdsSdk;
import com.salad.cloud.imdssdk.models.GetTokenParameters;
import com.salad.cloud.imdssdk.models.Metadata;
import com.salad.cloud.imdssdk.models.Token;

public class Main {

public static void main(String[] args) {
SaladCloudImdsSdk saladCloudImdsSdk = new SaladCloudImdsSdk();

GetTokenParameters requestParameters = GetTokenParameters.builder().metadata(Metadata.TRUE).build();

Token response = saladCloudImdsSdk.metadata.getToken(requestParameters);

System.out.println(response);
}
}
curl --request GET \
--url http://169.254.169.254/v1/token \
--header 'Metadata: <metadata>'
const options = {method: 'GET', headers: {Metadata: '<metadata>'}};

fetch('http://169.254.169.254/v1/token', 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 => "http://169.254.169.254/v1/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Metadata: <metadata>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'

url = URI("http://169.254.169.254/v1/token")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Metadata"] = '<metadata>'

response = http.request(request)
puts response.read_body
{
  "jwt": "<string>"
}
{
"code": "<string>",
"detail": "<string>",
"errors": {},
"instance": "<string>",
"status": 349,
"title": "<string>",
"type": "about:blank"
}
{
"code": "<string>",
"detail": "<string>",
"errors": {},
"instance": "<string>",
"status": 349,
"title": "<string>",
"type": "about:blank"
}
{
"code": "<string>",
"detail": "<string>",
"errors": {},
"instance": "<string>",
"status": 349,
"title": "<string>",
"type": "about:blank"
}
Last Updated: May 10, 2025

Headers

Metadata
string
required

A custom request header required by all operations.

Allowed value: "true"

Response

OK

The identity token of the current container instance.

jwt
string
required

The JSON Web Token (JWT) that may be used to identify the running container. The JWT may be verified using the JSON Web Key Set (JWKS) available at https://matrix-rest-api.salad.com/.well-known/workload-jwks.json.

Required string length: 1 - 1000
Example:

"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhYmMxMjMiLCJpYXQiOjE1MTYyMzkwMjIsImV4cCI6MTUxNjI0OTAyMn0.8EYto39v_-5ZKVRZYPKj0S-xuxtTUfWgeQ4QIFuW8mo"