Store a Tailscale Auth Key for the sandbox. This Auth Key will be used to authenticate with the Tailscale API and manage the sandbox's Tailscale node.
curl --request POST \
--url https://api.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "<string>",
"authKey": "<string>",
"redacted": "<string>"
}
'import requests
url = "https://api.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey"
payload = {
"id": "<string>",
"authKey": "<string>",
"redacted": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({id: '<string>', authKey: '<string>', redacted: '<string>'})
};
fetch('https://api.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey', 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.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey",
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([
'id' => '<string>',
'authKey' => '<string>',
'redacted' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey"
payload := strings.NewReader("{\n \"id\": \"<string>\",\n \"authKey\": \"<string>\",\n \"redacted\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"<string>\",\n \"authKey\": \"<string>\",\n \"redacted\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"<string>\",\n \"authKey\": \"<string>\",\n \"redacted\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"authKey": "<string>",
"redacted": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<unknown>",
"message": "<string>"
}SSH & Tailscale
Update Tailscale Auth Key
POST
/
io.pocketenv.sandbox.putTailscaleAuthKey
Store a Tailscale Auth Key for the sandbox. This Auth Key will be used to authenticate with the Tailscale API and manage the sandbox's Tailscale node.
curl --request POST \
--url https://api.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "<string>",
"authKey": "<string>",
"redacted": "<string>"
}
'import requests
url = "https://api.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey"
payload = {
"id": "<string>",
"authKey": "<string>",
"redacted": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({id: '<string>', authKey: '<string>', redacted: '<string>'})
};
fetch('https://api.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey', 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.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey",
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([
'id' => '<string>',
'authKey' => '<string>',
'redacted' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey"
payload := strings.NewReader("{\n \"id\": \"<string>\",\n \"authKey\": \"<string>\",\n \"redacted\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"<string>\",\n \"authKey\": \"<string>\",\n \"redacted\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pocketenv.io/xrpc/io.pocketenv.sandbox.putTailscaleAuthKey")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"<string>\",\n \"authKey\": \"<string>\",\n \"redacted\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"authKey": "<string>",
"redacted": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<unknown>",
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Response
OK
Unique identifier of the Tailscale Auth Key.
The Tailscale auth key (redacted in API responses)
The redacted Auth Key.
The timestamp when the Tailscale Auth Key was created.
The timestamp when the Tailscale Auth Key was last updated.
Was this page helpful?
⌘I
