Extend or reopen a sandbox
curl --request POST \
--url https://api.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '{
"days": 45
}'import requests
url = "https://api.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend"
payload = { "days": 45 }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({days: 45})
};
fetch('https://api.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend', 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.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend",
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([
'days' => 45
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend"
payload := strings.NewReader("{\n \"days\": 45\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"days\": 45\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"days\": 45\n}"
response = http.request(request)
puts response.read_body{
"sandbox": {
"id": "<string>",
"organizationId": "<string>",
"name": "<string>",
"state": "open",
"joinLink": "<string>",
"memberCount": 0,
"memberLimit": 0,
"connectorBaseUrl": "<string>",
"connectorCount": 0,
"allowedEmailDomains": [
"<string>"
],
"joinRole": "member",
"expiresAt": "2023-11-07T05:31:56Z",
"closedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"modelProviderCount": 0,
"planTier": "free",
"modelCredit": {
"limitUsd": 123,
"remainingUsd": 123
}
}
}{
"error": "invalid_request",
"details": [
{
"message": "<string>",
"path": [
"<string>"
]
}
],
"message": "<string>",
"capability": "<string>"
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Admin
Extend or reopen a sandbox
Adds days from now or from the current end, whichever is later, reopens the join link, turns included models, Free Auto and the sandbox’s own model key back on, and moves the Enterprise plan’s end date. Platform administrators only.
POST
/
v1
/
admin
/
sandbox-orgs
/
{sandboxId}
/
extend
Extend or reopen a sandbox
curl --request POST \
--url https://api.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '{
"days": 45
}'import requests
url = "https://api.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend"
payload = { "days": 45 }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({days: 45})
};
fetch('https://api.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend', 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.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend",
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([
'days' => 45
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend"
payload := strings.NewReader("{\n \"days\": 45\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"days\": 45\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/admin/sandbox-orgs/{sandboxId}/extend")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"days\": 45\n}"
response = http.request(request)
puts response.read_body{
"sandbox": {
"id": "<string>",
"organizationId": "<string>",
"name": "<string>",
"state": "open",
"joinLink": "<string>",
"memberCount": 0,
"memberLimit": 0,
"connectorBaseUrl": "<string>",
"connectorCount": 0,
"allowedEmailDomains": [
"<string>"
],
"joinRole": "member",
"expiresAt": "2023-11-07T05:31:56Z",
"closedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"modelProviderCount": 0,
"planTier": "free",
"modelCredit": {
"limitUsd": 123,
"remainingUsd": 123
}
}
}{
"error": "invalid_request",
"details": [
{
"message": "<string>",
"path": [
"<string>"
]
}
],
"message": "<string>",
"capability": "<string>"
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Authorizations
denApiKeybearerAuth
Organization API key passed as the x-api-key header. The raw key is the header value; do not prefix it with Bearer.
Path Parameters
Body
application/json
Required range:
1 <= x <= 90Response
Updated sandbox.
Show child attributes
Show child attributes
Was this page helpful?