curl --request PATCH \
--url https://api.valar.space/operations/spacecraft/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"absorption": 0.4,
"bodyShape": "BOX",
"boxX": 1.5,
"boxY": 1,
"boxZ": 2,
"catalogueNoradId": 500000,
"clearColor": false,
"clearCosparId": false,
"clearDryMass": false,
"clearInertiaTensor": false,
"clearManeuverCapabilities": true,
"clearNoradId": false,
"color": "#FF5733",
"cosparId": "2024-001A",
"dragArea": 5,
"dragCoefficient": 2.2,
"dryMass": 450,
"externalKey": "PARTNER-SAT-001",
"inertiaIxx": 1500,
"inertiaIyy": 1700,
"inertiaIzz": 2100,
"launchMass": 500,
"maneuverCapabilities": {
"allowedWindows": [
{
"end": "2023-11-07T05:31:56Z",
"start": "2023-11-07T05:31:56Z"
}
],
"availableManeuverPowerWatts": 123,
"blackoutWindows": [
{
"end": "2023-11-07T05:31:56Z",
"start": "2023-11-07T05:31:56Z"
}
],
"minimumManeuverSeparationSeconds": 123,
"schemaVersion": 123,
"thrusters": [
{
"alignmentError": {
"xRadians": 123,
"yRadians": 123,
"zRadians": 123
},
"allowedDirections": [],
"combinedSteeringAllowed": true,
"dutyCycleWindowSeconds": 123,
"maximumDutyCycle": 123,
"minimumBurnSeconds": 123,
"minimumImpulseNewtonSeconds": 123,
"overheadBurns": [
{
"durationSeconds": 123,
"offsetSeconds": 123,
"thrusterId": "<string>"
}
],
"requiredPowerWatts": 123,
"settlingSeconds": 123,
"thrusterId": "<string>"
}
]
},
"name": "Sentinel-1A",
"noradId": 43013,
"notYetCatalogued": true,
"panels": [
{
"absorption": 0.3,
"doubleSided": true,
"lengthM": 2,
"mountAxisPreset": "PLUS_Z",
"mountPositionX": -1.5,
"mountPositionY": 0,
"mountPositionZ": 0.25,
"name": "Port array",
"rotationDeg": 90,
"specularReflection": 0.2,
"widthM": 1,
"mountAxisCustomX": 0,
"mountAxisCustomY": 0,
"mountAxisCustomZ": 5
}
],
"prismAxis": "Z",
"prismDiameter": 0.866025,
"prismDiameterMeasure": "INSCRIBED",
"prismHeightM": 1,
"prismSides": 6,
"reflectivityCoefficient": 1.5,
"specularReflection": 0.3,
"srpArea": 5,
"updatingBoxDimensions": true,
"updatingInertiaTensor": true
}
'import requests
url = "https://api.valar.space/operations/spacecraft/{id}"
payload = {
"absorption": 0.4,
"bodyShape": "BOX",
"boxX": 1.5,
"boxY": 1,
"boxZ": 2,
"catalogueNoradId": 500000,
"clearColor": False,
"clearCosparId": False,
"clearDryMass": False,
"clearInertiaTensor": False,
"clearManeuverCapabilities": True,
"clearNoradId": False,
"color": "#FF5733",
"cosparId": "2024-001A",
"dragArea": 5,
"dragCoefficient": 2.2,
"dryMass": 450,
"externalKey": "PARTNER-SAT-001",
"inertiaIxx": 1500,
"inertiaIyy": 1700,
"inertiaIzz": 2100,
"launchMass": 500,
"maneuverCapabilities": {
"allowedWindows": [
{
"end": "2023-11-07T05:31:56Z",
"start": "2023-11-07T05:31:56Z"
}
],
"availableManeuverPowerWatts": 123,
"blackoutWindows": [
{
"end": "2023-11-07T05:31:56Z",
"start": "2023-11-07T05:31:56Z"
}
],
"minimumManeuverSeparationSeconds": 123,
"schemaVersion": 123,
"thrusters": [
{
"alignmentError": {
"xRadians": 123,
"yRadians": 123,
"zRadians": 123
},
"allowedDirections": [],
"combinedSteeringAllowed": True,
"dutyCycleWindowSeconds": 123,
"maximumDutyCycle": 123,
"minimumBurnSeconds": 123,
"minimumImpulseNewtonSeconds": 123,
"overheadBurns": [
{
"durationSeconds": 123,
"offsetSeconds": 123,
"thrusterId": "<string>"
}
],
"requiredPowerWatts": 123,
"settlingSeconds": 123,
"thrusterId": "<string>"
}
]
},
"name": "Sentinel-1A",
"noradId": 43013,
"notYetCatalogued": True,
"panels": [
{
"absorption": 0.3,
"doubleSided": True,
"lengthM": 2,
"mountAxisPreset": "PLUS_Z",
"mountPositionX": -1.5,
"mountPositionY": 0,
"mountPositionZ": 0.25,
"name": "Port array",
"rotationDeg": 90,
"specularReflection": 0.2,
"widthM": 1,
"mountAxisCustomX": 0,
"mountAxisCustomY": 0,
"mountAxisCustomZ": 5
}
],
"prismAxis": "Z",
"prismDiameter": 0.866025,
"prismDiameterMeasure": "INSCRIBED",
"prismHeightM": 1,
"prismSides": 6,
"reflectivityCoefficient": 1.5,
"specularReflection": 0.3,
"srpArea": 5,
"updatingBoxDimensions": True,
"updatingInertiaTensor": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
absorption: 0.4,
bodyShape: 'BOX',
boxX: 1.5,
boxY: 1,
boxZ: 2,
catalogueNoradId: 500000,
clearColor: false,
clearCosparId: false,
clearDryMass: false,
clearInertiaTensor: false,
clearManeuverCapabilities: true,
clearNoradId: false,
color: '#FF5733',
cosparId: '2024-001A',
dragArea: 5,
dragCoefficient: 2.2,
dryMass: 450,
externalKey: 'PARTNER-SAT-001',
inertiaIxx: 1500,
inertiaIyy: 1700,
inertiaIzz: 2100,
launchMass: 500,
maneuverCapabilities: {
allowedWindows: [{end: '2023-11-07T05:31:56Z', start: '2023-11-07T05:31:56Z'}],
availableManeuverPowerWatts: 123,
blackoutWindows: [{end: '2023-11-07T05:31:56Z', start: '2023-11-07T05:31:56Z'}],
minimumManeuverSeparationSeconds: 123,
schemaVersion: 123,
thrusters: [
{
alignmentError: {xRadians: 123, yRadians: 123, zRadians: 123},
allowedDirections: [],
combinedSteeringAllowed: true,
dutyCycleWindowSeconds: 123,
maximumDutyCycle: 123,
minimumBurnSeconds: 123,
minimumImpulseNewtonSeconds: 123,
overheadBurns: [{durationSeconds: 123, offsetSeconds: 123, thrusterId: '<string>'}],
requiredPowerWatts: 123,
settlingSeconds: 123,
thrusterId: '<string>'
}
]
},
name: 'Sentinel-1A',
noradId: 43013,
notYetCatalogued: true,
panels: [
{
absorption: 0.3,
doubleSided: true,
lengthM: 2,
mountAxisPreset: 'PLUS_Z',
mountPositionX: -1.5,
mountPositionY: 0,
mountPositionZ: 0.25,
name: 'Port array',
rotationDeg: 90,
specularReflection: 0.2,
widthM: 1,
mountAxisCustomX: 0,
mountAxisCustomY: 0,
mountAxisCustomZ: 5
}
],
prismAxis: 'Z',
prismDiameter: 0.866025,
prismDiameterMeasure: 'INSCRIBED',
prismHeightM: 1,
prismSides: 6,
reflectivityCoefficient: 1.5,
specularReflection: 0.3,
srpArea: 5,
updatingBoxDimensions: true,
updatingInertiaTensor: true
})
};
fetch('https://api.valar.space/operations/spacecraft/{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://api.valar.space/operations/spacecraft/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'absorption' => 0.4,
'bodyShape' => 'BOX',
'boxX' => 1.5,
'boxY' => 1,
'boxZ' => 2,
'catalogueNoradId' => 500000,
'clearColor' => false,
'clearCosparId' => false,
'clearDryMass' => false,
'clearInertiaTensor' => false,
'clearManeuverCapabilities' => true,
'clearNoradId' => false,
'color' => '#FF5733',
'cosparId' => '2024-001A',
'dragArea' => 5,
'dragCoefficient' => 2.2,
'dryMass' => 450,
'externalKey' => 'PARTNER-SAT-001',
'inertiaIxx' => 1500,
'inertiaIyy' => 1700,
'inertiaIzz' => 2100,
'launchMass' => 500,
'maneuverCapabilities' => [
'allowedWindows' => [
[
'end' => '2023-11-07T05:31:56Z',
'start' => '2023-11-07T05:31:56Z'
]
],
'availableManeuverPowerWatts' => 123,
'blackoutWindows' => [
[
'end' => '2023-11-07T05:31:56Z',
'start' => '2023-11-07T05:31:56Z'
]
],
'minimumManeuverSeparationSeconds' => 123,
'schemaVersion' => 123,
'thrusters' => [
[
'alignmentError' => [
'xRadians' => 123,
'yRadians' => 123,
'zRadians' => 123
],
'allowedDirections' => [
],
'combinedSteeringAllowed' => true,
'dutyCycleWindowSeconds' => 123,
'maximumDutyCycle' => 123,
'minimumBurnSeconds' => 123,
'minimumImpulseNewtonSeconds' => 123,
'overheadBurns' => [
[
'durationSeconds' => 123,
'offsetSeconds' => 123,
'thrusterId' => '<string>'
]
],
'requiredPowerWatts' => 123,
'settlingSeconds' => 123,
'thrusterId' => '<string>'
]
]
],
'name' => 'Sentinel-1A',
'noradId' => 43013,
'notYetCatalogued' => true,
'panels' => [
[
'absorption' => 0.3,
'doubleSided' => true,
'lengthM' => 2,
'mountAxisPreset' => 'PLUS_Z',
'mountPositionX' => -1.5,
'mountPositionY' => 0,
'mountPositionZ' => 0.25,
'name' => 'Port array',
'rotationDeg' => 90,
'specularReflection' => 0.2,
'widthM' => 1,
'mountAxisCustomX' => 0,
'mountAxisCustomY' => 0,
'mountAxisCustomZ' => 5
]
],
'prismAxis' => 'Z',
'prismDiameter' => 0.866025,
'prismDiameterMeasure' => 'INSCRIBED',
'prismHeightM' => 1,
'prismSides' => 6,
'reflectivityCoefficient' => 1.5,
'specularReflection' => 0.3,
'srpArea' => 5,
'updatingBoxDimensions' => true,
'updatingInertiaTensor' => true
]),
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.valar.space/operations/spacecraft/{id}"
payload := strings.NewReader("{\n \"absorption\": 0.4,\n \"bodyShape\": \"BOX\",\n \"boxX\": 1.5,\n \"boxY\": 1,\n \"boxZ\": 2,\n \"catalogueNoradId\": 500000,\n \"clearColor\": false,\n \"clearCosparId\": false,\n \"clearDryMass\": false,\n \"clearInertiaTensor\": false,\n \"clearManeuverCapabilities\": true,\n \"clearNoradId\": false,\n \"color\": \"#FF5733\",\n \"cosparId\": \"2024-001A\",\n \"dragArea\": 5,\n \"dragCoefficient\": 2.2,\n \"dryMass\": 450,\n \"externalKey\": \"PARTNER-SAT-001\",\n \"inertiaIxx\": 1500,\n \"inertiaIyy\": 1700,\n \"inertiaIzz\": 2100,\n \"launchMass\": 500,\n \"maneuverCapabilities\": {\n \"allowedWindows\": [\n {\n \"end\": \"2023-11-07T05:31:56Z\",\n \"start\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"availableManeuverPowerWatts\": 123,\n \"blackoutWindows\": [\n {\n \"end\": \"2023-11-07T05:31:56Z\",\n \"start\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"minimumManeuverSeparationSeconds\": 123,\n \"schemaVersion\": 123,\n \"thrusters\": [\n {\n \"alignmentError\": {\n \"xRadians\": 123,\n \"yRadians\": 123,\n \"zRadians\": 123\n },\n \"allowedDirections\": [],\n \"combinedSteeringAllowed\": true,\n \"dutyCycleWindowSeconds\": 123,\n \"maximumDutyCycle\": 123,\n \"minimumBurnSeconds\": 123,\n \"minimumImpulseNewtonSeconds\": 123,\n \"overheadBurns\": [\n {\n \"durationSeconds\": 123,\n \"offsetSeconds\": 123,\n \"thrusterId\": \"<string>\"\n }\n ],\n \"requiredPowerWatts\": 123,\n \"settlingSeconds\": 123,\n \"thrusterId\": \"<string>\"\n }\n ]\n },\n \"name\": \"Sentinel-1A\",\n \"noradId\": 43013,\n \"notYetCatalogued\": true,\n \"panels\": [\n {\n \"absorption\": 0.3,\n \"doubleSided\": true,\n \"lengthM\": 2,\n \"mountAxisPreset\": \"PLUS_Z\",\n \"mountPositionX\": -1.5,\n \"mountPositionY\": 0,\n \"mountPositionZ\": 0.25,\n \"name\": \"Port array\",\n \"rotationDeg\": 90,\n \"specularReflection\": 0.2,\n \"widthM\": 1,\n \"mountAxisCustomX\": 0,\n \"mountAxisCustomY\": 0,\n \"mountAxisCustomZ\": 5\n }\n ],\n \"prismAxis\": \"Z\",\n \"prismDiameter\": 0.866025,\n \"prismDiameterMeasure\": \"INSCRIBED\",\n \"prismHeightM\": 1,\n \"prismSides\": 6,\n \"reflectivityCoefficient\": 1.5,\n \"specularReflection\": 0.3,\n \"srpArea\": 5,\n \"updatingBoxDimensions\": true,\n \"updatingInertiaTensor\": true\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.valar.space/operations/spacecraft/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"absorption\": 0.4,\n \"bodyShape\": \"BOX\",\n \"boxX\": 1.5,\n \"boxY\": 1,\n \"boxZ\": 2,\n \"catalogueNoradId\": 500000,\n \"clearColor\": false,\n \"clearCosparId\": false,\n \"clearDryMass\": false,\n \"clearInertiaTensor\": false,\n \"clearManeuverCapabilities\": true,\n \"clearNoradId\": false,\n \"color\": \"#FF5733\",\n \"cosparId\": \"2024-001A\",\n \"dragArea\": 5,\n \"dragCoefficient\": 2.2,\n \"dryMass\": 450,\n \"externalKey\": \"PARTNER-SAT-001\",\n \"inertiaIxx\": 1500,\n \"inertiaIyy\": 1700,\n \"inertiaIzz\": 2100,\n \"launchMass\": 500,\n \"maneuverCapabilities\": {\n \"allowedWindows\": [\n {\n \"end\": \"2023-11-07T05:31:56Z\",\n \"start\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"availableManeuverPowerWatts\": 123,\n \"blackoutWindows\": [\n {\n \"end\": \"2023-11-07T05:31:56Z\",\n \"start\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"minimumManeuverSeparationSeconds\": 123,\n \"schemaVersion\": 123,\n \"thrusters\": [\n {\n \"alignmentError\": {\n \"xRadians\": 123,\n \"yRadians\": 123,\n \"zRadians\": 123\n },\n \"allowedDirections\": [],\n \"combinedSteeringAllowed\": true,\n \"dutyCycleWindowSeconds\": 123,\n \"maximumDutyCycle\": 123,\n \"minimumBurnSeconds\": 123,\n \"minimumImpulseNewtonSeconds\": 123,\n \"overheadBurns\": [\n {\n \"durationSeconds\": 123,\n \"offsetSeconds\": 123,\n \"thrusterId\": \"<string>\"\n }\n ],\n \"requiredPowerWatts\": 123,\n \"settlingSeconds\": 123,\n \"thrusterId\": \"<string>\"\n }\n ]\n },\n \"name\": \"Sentinel-1A\",\n \"noradId\": 43013,\n \"notYetCatalogued\": true,\n \"panels\": [\n {\n \"absorption\": 0.3,\n \"doubleSided\": true,\n \"lengthM\": 2,\n \"mountAxisPreset\": \"PLUS_Z\",\n \"mountPositionX\": -1.5,\n \"mountPositionY\": 0,\n \"mountPositionZ\": 0.25,\n \"name\": \"Port array\",\n \"rotationDeg\": 90,\n \"specularReflection\": 0.2,\n \"widthM\": 1,\n \"mountAxisCustomX\": 0,\n \"mountAxisCustomY\": 0,\n \"mountAxisCustomZ\": 5\n }\n ],\n \"prismAxis\": \"Z\",\n \"prismDiameter\": 0.866025,\n \"prismDiameterMeasure\": \"INSCRIBED\",\n \"prismHeightM\": 1,\n \"prismSides\": 6,\n \"reflectivityCoefficient\": 1.5,\n \"specularReflection\": 0.3,\n \"srpArea\": 5,\n \"updatingBoxDimensions\": true,\n \"updatingInertiaTensor\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.valar.space/operations/spacecraft/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"absorption\": 0.4,\n \"bodyShape\": \"BOX\",\n \"boxX\": 1.5,\n \"boxY\": 1,\n \"boxZ\": 2,\n \"catalogueNoradId\": 500000,\n \"clearColor\": false,\n \"clearCosparId\": false,\n \"clearDryMass\": false,\n \"clearInertiaTensor\": false,\n \"clearManeuverCapabilities\": true,\n \"clearNoradId\": false,\n \"color\": \"#FF5733\",\n \"cosparId\": \"2024-001A\",\n \"dragArea\": 5,\n \"dragCoefficient\": 2.2,\n \"dryMass\": 450,\n \"externalKey\": \"PARTNER-SAT-001\",\n \"inertiaIxx\": 1500,\n \"inertiaIyy\": 1700,\n \"inertiaIzz\": 2100,\n \"launchMass\": 500,\n \"maneuverCapabilities\": {\n \"allowedWindows\": [\n {\n \"end\": \"2023-11-07T05:31:56Z\",\n \"start\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"availableManeuverPowerWatts\": 123,\n \"blackoutWindows\": [\n {\n \"end\": \"2023-11-07T05:31:56Z\",\n \"start\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"minimumManeuverSeparationSeconds\": 123,\n \"schemaVersion\": 123,\n \"thrusters\": [\n {\n \"alignmentError\": {\n \"xRadians\": 123,\n \"yRadians\": 123,\n \"zRadians\": 123\n },\n \"allowedDirections\": [],\n \"combinedSteeringAllowed\": true,\n \"dutyCycleWindowSeconds\": 123,\n \"maximumDutyCycle\": 123,\n \"minimumBurnSeconds\": 123,\n \"minimumImpulseNewtonSeconds\": 123,\n \"overheadBurns\": [\n {\n \"durationSeconds\": 123,\n \"offsetSeconds\": 123,\n \"thrusterId\": \"<string>\"\n }\n ],\n \"requiredPowerWatts\": 123,\n \"settlingSeconds\": 123,\n \"thrusterId\": \"<string>\"\n }\n ]\n },\n \"name\": \"Sentinel-1A\",\n \"noradId\": 43013,\n \"notYetCatalogued\": true,\n \"panels\": [\n {\n \"absorption\": 0.3,\n \"doubleSided\": true,\n \"lengthM\": 2,\n \"mountAxisPreset\": \"PLUS_Z\",\n \"mountPositionX\": -1.5,\n \"mountPositionY\": 0,\n \"mountPositionZ\": 0.25,\n \"name\": \"Port array\",\n \"rotationDeg\": 90,\n \"specularReflection\": 0.2,\n \"widthM\": 1,\n \"mountAxisCustomX\": 0,\n \"mountAxisCustomY\": 0,\n \"mountAxisCustomZ\": 5\n }\n ],\n \"prismAxis\": \"Z\",\n \"prismDiameter\": 0.866025,\n \"prismDiameterMeasure\": \"INSCRIBED\",\n \"prismHeightM\": 1,\n \"prismSides\": 6,\n \"reflectivityCoefficient\": 1.5,\n \"specularReflection\": 0.3,\n \"srpArea\": 5,\n \"updatingBoxDimensions\": true,\n \"updatingInertiaTensor\": true\n}"
response = http.request(request)
puts response.read_body{
"absorption": 0.4,
"bodyShape": "BOX",
"boxX": 1.5,
"boxY": 1,
"boxZ": 2,
"catalogueNoradId": 123,
"color": "#FF5733",
"cosparId": "2024-001A",
"createdAt": "2023-11-07T05:31:56Z",
"dragArea": 5,
"dragCoefficient": 2.2,
"dryMass": 450,
"externalKey": "PARTNER-SAT-001",
"id": "550e8400-e29b-41d4-a716-446655440000",
"inertiaIxx": 1500,
"inertiaIyy": 1700,
"inertiaIzz": 2100,
"launchMass": 500,
"lifecycleStatus": "Active",
"maneuverCapabilities": {
"allowedWindows": [
{
"end": "2023-11-07T05:31:56Z",
"start": "2023-11-07T05:31:56Z"
}
],
"availableManeuverPowerWatts": 123,
"blackoutWindows": [
{
"end": "2023-11-07T05:31:56Z",
"start": "2023-11-07T05:31:56Z"
}
],
"minimumManeuverSeparationSeconds": 123,
"schemaVersion": 123,
"thrusters": [
{
"alignmentError": {
"xRadians": 123,
"yRadians": 123,
"zRadians": 123
},
"allowedDirections": [
"RADIAL_OUT"
],
"combinedSteeringAllowed": true,
"dutyCycleWindowSeconds": 123,
"eclipsePolicy": "SUNLIGHT_ONLY",
"maximumDutyCycle": 123,
"minimumBurnSeconds": 123,
"minimumImpulseNewtonSeconds": 123,
"overheadBurns": [
{
"anchor": "BEFORE_MAIN_BURN",
"direction": "RADIAL_OUT",
"durationSeconds": 123,
"offsetSeconds": 123,
"thrusterId": "<string>"
}
],
"requiredPowerWatts": 123,
"settlingSeconds": 123,
"thrusterId": "<string>"
}
]
},
"name": "Sentinel-1A",
"noradId": 43013,
"notYetCatalogued": true,
"organizationId": "VALAR",
"panels": [
{
"absorption": 0.3,
"derivedNormal": {
"x": 1,
"y": 0,
"z": 0
},
"doubleSided": true,
"lengthM": 2,
"mountAxisCustomX": 0,
"mountAxisCustomY": 0,
"mountAxisCustomZ": 5,
"mountAxisPreset": "PLUS_Z",
"mountPositionX": -1.5,
"mountPositionY": 0,
"mountPositionZ": 0.25,
"name": "Port array",
"panelIndex": 0,
"rotationDeg": 90,
"specularReflection": 0.2,
"widthM": 1
}
],
"prismAxis": "Z",
"prismComplementaryDiameter": 1,
"prismDiameter": 0.866025,
"prismDiameterMeasure": "INSCRIBED",
"prismEdgeM": 0.5,
"prismHeightM": 1,
"prismSides": 6,
"reflectivityCoefficient": 1,
"specularReflection": 0.3,
"srpArea": 5,
"updatedAt": "2023-11-07T05:31:56Z"
}{
"code": "import.tracking.tdm.parse_failed",
"correlationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"details": {},
"error": "Bad Request",
"fieldErrors": {},
"message": "Invalid spacecraft ID format",
"params": {},
"path": "/api/v1/stm/credentials",
"status": 400,
"timestamp": "2025-11-14T10:15:30.123Z"
}{
"error": "invalid_token",
"error_description": "An error occurred while attempting to decode the Jwt"
}{
"code": "import.tracking.tdm.parse_failed",
"correlationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"details": {},
"error": "Bad Request",
"fieldErrors": {},
"message": "Invalid spacecraft ID format",
"params": {},
"path": "/api/v1/stm/credentials",
"status": 400,
"timestamp": "2025-11-14T10:15:30.123Z"
}{
"code": "import.tracking.tdm.parse_failed",
"correlationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"details": {},
"error": "Bad Request",
"fieldErrors": {},
"message": "Invalid spacecraft ID format",
"params": {},
"path": "/api/v1/stm/credentials",
"status": 400,
"timestamp": "2025-11-14T10:15:30.123Z"
}Partially update a spacecraft
Updates only the provided fields of a spacecraft resolved strictly by id. Returns 404 if it does not exist.
curl --request PATCH \
--url https://api.valar.space/operations/spacecraft/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"absorption": 0.4,
"bodyShape": "BOX",
"boxX": 1.5,
"boxY": 1,
"boxZ": 2,
"catalogueNoradId": 500000,
"clearColor": false,
"clearCosparId": false,
"clearDryMass": false,
"clearInertiaTensor": false,
"clearManeuverCapabilities": true,
"clearNoradId": false,
"color": "#FF5733",
"cosparId": "2024-001A",
"dragArea": 5,
"dragCoefficient": 2.2,
"dryMass": 450,
"externalKey": "PARTNER-SAT-001",
"inertiaIxx": 1500,
"inertiaIyy": 1700,
"inertiaIzz": 2100,
"launchMass": 500,
"maneuverCapabilities": {
"allowedWindows": [
{
"end": "2023-11-07T05:31:56Z",
"start": "2023-11-07T05:31:56Z"
}
],
"availableManeuverPowerWatts": 123,
"blackoutWindows": [
{
"end": "2023-11-07T05:31:56Z",
"start": "2023-11-07T05:31:56Z"
}
],
"minimumManeuverSeparationSeconds": 123,
"schemaVersion": 123,
"thrusters": [
{
"alignmentError": {
"xRadians": 123,
"yRadians": 123,
"zRadians": 123
},
"allowedDirections": [],
"combinedSteeringAllowed": true,
"dutyCycleWindowSeconds": 123,
"maximumDutyCycle": 123,
"minimumBurnSeconds": 123,
"minimumImpulseNewtonSeconds": 123,
"overheadBurns": [
{
"durationSeconds": 123,
"offsetSeconds": 123,
"thrusterId": "<string>"
}
],
"requiredPowerWatts": 123,
"settlingSeconds": 123,
"thrusterId": "<string>"
}
]
},
"name": "Sentinel-1A",
"noradId": 43013,
"notYetCatalogued": true,
"panels": [
{
"absorption": 0.3,
"doubleSided": true,
"lengthM": 2,
"mountAxisPreset": "PLUS_Z",
"mountPositionX": -1.5,
"mountPositionY": 0,
"mountPositionZ": 0.25,
"name": "Port array",
"rotationDeg": 90,
"specularReflection": 0.2,
"widthM": 1,
"mountAxisCustomX": 0,
"mountAxisCustomY": 0,
"mountAxisCustomZ": 5
}
],
"prismAxis": "Z",
"prismDiameter": 0.866025,
"prismDiameterMeasure": "INSCRIBED",
"prismHeightM": 1,
"prismSides": 6,
"reflectivityCoefficient": 1.5,
"specularReflection": 0.3,
"srpArea": 5,
"updatingBoxDimensions": true,
"updatingInertiaTensor": true
}
'import requests
url = "https://api.valar.space/operations/spacecraft/{id}"
payload = {
"absorption": 0.4,
"bodyShape": "BOX",
"boxX": 1.5,
"boxY": 1,
"boxZ": 2,
"catalogueNoradId": 500000,
"clearColor": False,
"clearCosparId": False,
"clearDryMass": False,
"clearInertiaTensor": False,
"clearManeuverCapabilities": True,
"clearNoradId": False,
"color": "#FF5733",
"cosparId": "2024-001A",
"dragArea": 5,
"dragCoefficient": 2.2,
"dryMass": 450,
"externalKey": "PARTNER-SAT-001",
"inertiaIxx": 1500,
"inertiaIyy": 1700,
"inertiaIzz": 2100,
"launchMass": 500,
"maneuverCapabilities": {
"allowedWindows": [
{
"end": "2023-11-07T05:31:56Z",
"start": "2023-11-07T05:31:56Z"
}
],
"availableManeuverPowerWatts": 123,
"blackoutWindows": [
{
"end": "2023-11-07T05:31:56Z",
"start": "2023-11-07T05:31:56Z"
}
],
"minimumManeuverSeparationSeconds": 123,
"schemaVersion": 123,
"thrusters": [
{
"alignmentError": {
"xRadians": 123,
"yRadians": 123,
"zRadians": 123
},
"allowedDirections": [],
"combinedSteeringAllowed": True,
"dutyCycleWindowSeconds": 123,
"maximumDutyCycle": 123,
"minimumBurnSeconds": 123,
"minimumImpulseNewtonSeconds": 123,
"overheadBurns": [
{
"durationSeconds": 123,
"offsetSeconds": 123,
"thrusterId": "<string>"
}
],
"requiredPowerWatts": 123,
"settlingSeconds": 123,
"thrusterId": "<string>"
}
]
},
"name": "Sentinel-1A",
"noradId": 43013,
"notYetCatalogued": True,
"panels": [
{
"absorption": 0.3,
"doubleSided": True,
"lengthM": 2,
"mountAxisPreset": "PLUS_Z",
"mountPositionX": -1.5,
"mountPositionY": 0,
"mountPositionZ": 0.25,
"name": "Port array",
"rotationDeg": 90,
"specularReflection": 0.2,
"widthM": 1,
"mountAxisCustomX": 0,
"mountAxisCustomY": 0,
"mountAxisCustomZ": 5
}
],
"prismAxis": "Z",
"prismDiameter": 0.866025,
"prismDiameterMeasure": "INSCRIBED",
"prismHeightM": 1,
"prismSides": 6,
"reflectivityCoefficient": 1.5,
"specularReflection": 0.3,
"srpArea": 5,
"updatingBoxDimensions": True,
"updatingInertiaTensor": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
absorption: 0.4,
bodyShape: 'BOX',
boxX: 1.5,
boxY: 1,
boxZ: 2,
catalogueNoradId: 500000,
clearColor: false,
clearCosparId: false,
clearDryMass: false,
clearInertiaTensor: false,
clearManeuverCapabilities: true,
clearNoradId: false,
color: '#FF5733',
cosparId: '2024-001A',
dragArea: 5,
dragCoefficient: 2.2,
dryMass: 450,
externalKey: 'PARTNER-SAT-001',
inertiaIxx: 1500,
inertiaIyy: 1700,
inertiaIzz: 2100,
launchMass: 500,
maneuverCapabilities: {
allowedWindows: [{end: '2023-11-07T05:31:56Z', start: '2023-11-07T05:31:56Z'}],
availableManeuverPowerWatts: 123,
blackoutWindows: [{end: '2023-11-07T05:31:56Z', start: '2023-11-07T05:31:56Z'}],
minimumManeuverSeparationSeconds: 123,
schemaVersion: 123,
thrusters: [
{
alignmentError: {xRadians: 123, yRadians: 123, zRadians: 123},
allowedDirections: [],
combinedSteeringAllowed: true,
dutyCycleWindowSeconds: 123,
maximumDutyCycle: 123,
minimumBurnSeconds: 123,
minimumImpulseNewtonSeconds: 123,
overheadBurns: [{durationSeconds: 123, offsetSeconds: 123, thrusterId: '<string>'}],
requiredPowerWatts: 123,
settlingSeconds: 123,
thrusterId: '<string>'
}
]
},
name: 'Sentinel-1A',
noradId: 43013,
notYetCatalogued: true,
panels: [
{
absorption: 0.3,
doubleSided: true,
lengthM: 2,
mountAxisPreset: 'PLUS_Z',
mountPositionX: -1.5,
mountPositionY: 0,
mountPositionZ: 0.25,
name: 'Port array',
rotationDeg: 90,
specularReflection: 0.2,
widthM: 1,
mountAxisCustomX: 0,
mountAxisCustomY: 0,
mountAxisCustomZ: 5
}
],
prismAxis: 'Z',
prismDiameter: 0.866025,
prismDiameterMeasure: 'INSCRIBED',
prismHeightM: 1,
prismSides: 6,
reflectivityCoefficient: 1.5,
specularReflection: 0.3,
srpArea: 5,
updatingBoxDimensions: true,
updatingInertiaTensor: true
})
};
fetch('https://api.valar.space/operations/spacecraft/{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://api.valar.space/operations/spacecraft/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'absorption' => 0.4,
'bodyShape' => 'BOX',
'boxX' => 1.5,
'boxY' => 1,
'boxZ' => 2,
'catalogueNoradId' => 500000,
'clearColor' => false,
'clearCosparId' => false,
'clearDryMass' => false,
'clearInertiaTensor' => false,
'clearManeuverCapabilities' => true,
'clearNoradId' => false,
'color' => '#FF5733',
'cosparId' => '2024-001A',
'dragArea' => 5,
'dragCoefficient' => 2.2,
'dryMass' => 450,
'externalKey' => 'PARTNER-SAT-001',
'inertiaIxx' => 1500,
'inertiaIyy' => 1700,
'inertiaIzz' => 2100,
'launchMass' => 500,
'maneuverCapabilities' => [
'allowedWindows' => [
[
'end' => '2023-11-07T05:31:56Z',
'start' => '2023-11-07T05:31:56Z'
]
],
'availableManeuverPowerWatts' => 123,
'blackoutWindows' => [
[
'end' => '2023-11-07T05:31:56Z',
'start' => '2023-11-07T05:31:56Z'
]
],
'minimumManeuverSeparationSeconds' => 123,
'schemaVersion' => 123,
'thrusters' => [
[
'alignmentError' => [
'xRadians' => 123,
'yRadians' => 123,
'zRadians' => 123
],
'allowedDirections' => [
],
'combinedSteeringAllowed' => true,
'dutyCycleWindowSeconds' => 123,
'maximumDutyCycle' => 123,
'minimumBurnSeconds' => 123,
'minimumImpulseNewtonSeconds' => 123,
'overheadBurns' => [
[
'durationSeconds' => 123,
'offsetSeconds' => 123,
'thrusterId' => '<string>'
]
],
'requiredPowerWatts' => 123,
'settlingSeconds' => 123,
'thrusterId' => '<string>'
]
]
],
'name' => 'Sentinel-1A',
'noradId' => 43013,
'notYetCatalogued' => true,
'panels' => [
[
'absorption' => 0.3,
'doubleSided' => true,
'lengthM' => 2,
'mountAxisPreset' => 'PLUS_Z',
'mountPositionX' => -1.5,
'mountPositionY' => 0,
'mountPositionZ' => 0.25,
'name' => 'Port array',
'rotationDeg' => 90,
'specularReflection' => 0.2,
'widthM' => 1,
'mountAxisCustomX' => 0,
'mountAxisCustomY' => 0,
'mountAxisCustomZ' => 5
]
],
'prismAxis' => 'Z',
'prismDiameter' => 0.866025,
'prismDiameterMeasure' => 'INSCRIBED',
'prismHeightM' => 1,
'prismSides' => 6,
'reflectivityCoefficient' => 1.5,
'specularReflection' => 0.3,
'srpArea' => 5,
'updatingBoxDimensions' => true,
'updatingInertiaTensor' => true
]),
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.valar.space/operations/spacecraft/{id}"
payload := strings.NewReader("{\n \"absorption\": 0.4,\n \"bodyShape\": \"BOX\",\n \"boxX\": 1.5,\n \"boxY\": 1,\n \"boxZ\": 2,\n \"catalogueNoradId\": 500000,\n \"clearColor\": false,\n \"clearCosparId\": false,\n \"clearDryMass\": false,\n \"clearInertiaTensor\": false,\n \"clearManeuverCapabilities\": true,\n \"clearNoradId\": false,\n \"color\": \"#FF5733\",\n \"cosparId\": \"2024-001A\",\n \"dragArea\": 5,\n \"dragCoefficient\": 2.2,\n \"dryMass\": 450,\n \"externalKey\": \"PARTNER-SAT-001\",\n \"inertiaIxx\": 1500,\n \"inertiaIyy\": 1700,\n \"inertiaIzz\": 2100,\n \"launchMass\": 500,\n \"maneuverCapabilities\": {\n \"allowedWindows\": [\n {\n \"end\": \"2023-11-07T05:31:56Z\",\n \"start\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"availableManeuverPowerWatts\": 123,\n \"blackoutWindows\": [\n {\n \"end\": \"2023-11-07T05:31:56Z\",\n \"start\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"minimumManeuverSeparationSeconds\": 123,\n \"schemaVersion\": 123,\n \"thrusters\": [\n {\n \"alignmentError\": {\n \"xRadians\": 123,\n \"yRadians\": 123,\n \"zRadians\": 123\n },\n \"allowedDirections\": [],\n \"combinedSteeringAllowed\": true,\n \"dutyCycleWindowSeconds\": 123,\n \"maximumDutyCycle\": 123,\n \"minimumBurnSeconds\": 123,\n \"minimumImpulseNewtonSeconds\": 123,\n \"overheadBurns\": [\n {\n \"durationSeconds\": 123,\n \"offsetSeconds\": 123,\n \"thrusterId\": \"<string>\"\n }\n ],\n \"requiredPowerWatts\": 123,\n \"settlingSeconds\": 123,\n \"thrusterId\": \"<string>\"\n }\n ]\n },\n \"name\": \"Sentinel-1A\",\n \"noradId\": 43013,\n \"notYetCatalogued\": true,\n \"panels\": [\n {\n \"absorption\": 0.3,\n \"doubleSided\": true,\n \"lengthM\": 2,\n \"mountAxisPreset\": \"PLUS_Z\",\n \"mountPositionX\": -1.5,\n \"mountPositionY\": 0,\n \"mountPositionZ\": 0.25,\n \"name\": \"Port array\",\n \"rotationDeg\": 90,\n \"specularReflection\": 0.2,\n \"widthM\": 1,\n \"mountAxisCustomX\": 0,\n \"mountAxisCustomY\": 0,\n \"mountAxisCustomZ\": 5\n }\n ],\n \"prismAxis\": \"Z\",\n \"prismDiameter\": 0.866025,\n \"prismDiameterMeasure\": \"INSCRIBED\",\n \"prismHeightM\": 1,\n \"prismSides\": 6,\n \"reflectivityCoefficient\": 1.5,\n \"specularReflection\": 0.3,\n \"srpArea\": 5,\n \"updatingBoxDimensions\": true,\n \"updatingInertiaTensor\": true\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.valar.space/operations/spacecraft/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"absorption\": 0.4,\n \"bodyShape\": \"BOX\",\n \"boxX\": 1.5,\n \"boxY\": 1,\n \"boxZ\": 2,\n \"catalogueNoradId\": 500000,\n \"clearColor\": false,\n \"clearCosparId\": false,\n \"clearDryMass\": false,\n \"clearInertiaTensor\": false,\n \"clearManeuverCapabilities\": true,\n \"clearNoradId\": false,\n \"color\": \"#FF5733\",\n \"cosparId\": \"2024-001A\",\n \"dragArea\": 5,\n \"dragCoefficient\": 2.2,\n \"dryMass\": 450,\n \"externalKey\": \"PARTNER-SAT-001\",\n \"inertiaIxx\": 1500,\n \"inertiaIyy\": 1700,\n \"inertiaIzz\": 2100,\n \"launchMass\": 500,\n \"maneuverCapabilities\": {\n \"allowedWindows\": [\n {\n \"end\": \"2023-11-07T05:31:56Z\",\n \"start\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"availableManeuverPowerWatts\": 123,\n \"blackoutWindows\": [\n {\n \"end\": \"2023-11-07T05:31:56Z\",\n \"start\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"minimumManeuverSeparationSeconds\": 123,\n \"schemaVersion\": 123,\n \"thrusters\": [\n {\n \"alignmentError\": {\n \"xRadians\": 123,\n \"yRadians\": 123,\n \"zRadians\": 123\n },\n \"allowedDirections\": [],\n \"combinedSteeringAllowed\": true,\n \"dutyCycleWindowSeconds\": 123,\n \"maximumDutyCycle\": 123,\n \"minimumBurnSeconds\": 123,\n \"minimumImpulseNewtonSeconds\": 123,\n \"overheadBurns\": [\n {\n \"durationSeconds\": 123,\n \"offsetSeconds\": 123,\n \"thrusterId\": \"<string>\"\n }\n ],\n \"requiredPowerWatts\": 123,\n \"settlingSeconds\": 123,\n \"thrusterId\": \"<string>\"\n }\n ]\n },\n \"name\": \"Sentinel-1A\",\n \"noradId\": 43013,\n \"notYetCatalogued\": true,\n \"panels\": [\n {\n \"absorption\": 0.3,\n \"doubleSided\": true,\n \"lengthM\": 2,\n \"mountAxisPreset\": \"PLUS_Z\",\n \"mountPositionX\": -1.5,\n \"mountPositionY\": 0,\n \"mountPositionZ\": 0.25,\n \"name\": \"Port array\",\n \"rotationDeg\": 90,\n \"specularReflection\": 0.2,\n \"widthM\": 1,\n \"mountAxisCustomX\": 0,\n \"mountAxisCustomY\": 0,\n \"mountAxisCustomZ\": 5\n }\n ],\n \"prismAxis\": \"Z\",\n \"prismDiameter\": 0.866025,\n \"prismDiameterMeasure\": \"INSCRIBED\",\n \"prismHeightM\": 1,\n \"prismSides\": 6,\n \"reflectivityCoefficient\": 1.5,\n \"specularReflection\": 0.3,\n \"srpArea\": 5,\n \"updatingBoxDimensions\": true,\n \"updatingInertiaTensor\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.valar.space/operations/spacecraft/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"absorption\": 0.4,\n \"bodyShape\": \"BOX\",\n \"boxX\": 1.5,\n \"boxY\": 1,\n \"boxZ\": 2,\n \"catalogueNoradId\": 500000,\n \"clearColor\": false,\n \"clearCosparId\": false,\n \"clearDryMass\": false,\n \"clearInertiaTensor\": false,\n \"clearManeuverCapabilities\": true,\n \"clearNoradId\": false,\n \"color\": \"#FF5733\",\n \"cosparId\": \"2024-001A\",\n \"dragArea\": 5,\n \"dragCoefficient\": 2.2,\n \"dryMass\": 450,\n \"externalKey\": \"PARTNER-SAT-001\",\n \"inertiaIxx\": 1500,\n \"inertiaIyy\": 1700,\n \"inertiaIzz\": 2100,\n \"launchMass\": 500,\n \"maneuverCapabilities\": {\n \"allowedWindows\": [\n {\n \"end\": \"2023-11-07T05:31:56Z\",\n \"start\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"availableManeuverPowerWatts\": 123,\n \"blackoutWindows\": [\n {\n \"end\": \"2023-11-07T05:31:56Z\",\n \"start\": \"2023-11-07T05:31:56Z\"\n }\n ],\n \"minimumManeuverSeparationSeconds\": 123,\n \"schemaVersion\": 123,\n \"thrusters\": [\n {\n \"alignmentError\": {\n \"xRadians\": 123,\n \"yRadians\": 123,\n \"zRadians\": 123\n },\n \"allowedDirections\": [],\n \"combinedSteeringAllowed\": true,\n \"dutyCycleWindowSeconds\": 123,\n \"maximumDutyCycle\": 123,\n \"minimumBurnSeconds\": 123,\n \"minimumImpulseNewtonSeconds\": 123,\n \"overheadBurns\": [\n {\n \"durationSeconds\": 123,\n \"offsetSeconds\": 123,\n \"thrusterId\": \"<string>\"\n }\n ],\n \"requiredPowerWatts\": 123,\n \"settlingSeconds\": 123,\n \"thrusterId\": \"<string>\"\n }\n ]\n },\n \"name\": \"Sentinel-1A\",\n \"noradId\": 43013,\n \"notYetCatalogued\": true,\n \"panels\": [\n {\n \"absorption\": 0.3,\n \"doubleSided\": true,\n \"lengthM\": 2,\n \"mountAxisPreset\": \"PLUS_Z\",\n \"mountPositionX\": -1.5,\n \"mountPositionY\": 0,\n \"mountPositionZ\": 0.25,\n \"name\": \"Port array\",\n \"rotationDeg\": 90,\n \"specularReflection\": 0.2,\n \"widthM\": 1,\n \"mountAxisCustomX\": 0,\n \"mountAxisCustomY\": 0,\n \"mountAxisCustomZ\": 5\n }\n ],\n \"prismAxis\": \"Z\",\n \"prismDiameter\": 0.866025,\n \"prismDiameterMeasure\": \"INSCRIBED\",\n \"prismHeightM\": 1,\n \"prismSides\": 6,\n \"reflectivityCoefficient\": 1.5,\n \"specularReflection\": 0.3,\n \"srpArea\": 5,\n \"updatingBoxDimensions\": true,\n \"updatingInertiaTensor\": true\n}"
response = http.request(request)
puts response.read_body{
"absorption": 0.4,
"bodyShape": "BOX",
"boxX": 1.5,
"boxY": 1,
"boxZ": 2,
"catalogueNoradId": 123,
"color": "#FF5733",
"cosparId": "2024-001A",
"createdAt": "2023-11-07T05:31:56Z",
"dragArea": 5,
"dragCoefficient": 2.2,
"dryMass": 450,
"externalKey": "PARTNER-SAT-001",
"id": "550e8400-e29b-41d4-a716-446655440000",
"inertiaIxx": 1500,
"inertiaIyy": 1700,
"inertiaIzz": 2100,
"launchMass": 500,
"lifecycleStatus": "Active",
"maneuverCapabilities": {
"allowedWindows": [
{
"end": "2023-11-07T05:31:56Z",
"start": "2023-11-07T05:31:56Z"
}
],
"availableManeuverPowerWatts": 123,
"blackoutWindows": [
{
"end": "2023-11-07T05:31:56Z",
"start": "2023-11-07T05:31:56Z"
}
],
"minimumManeuverSeparationSeconds": 123,
"schemaVersion": 123,
"thrusters": [
{
"alignmentError": {
"xRadians": 123,
"yRadians": 123,
"zRadians": 123
},
"allowedDirections": [
"RADIAL_OUT"
],
"combinedSteeringAllowed": true,
"dutyCycleWindowSeconds": 123,
"eclipsePolicy": "SUNLIGHT_ONLY",
"maximumDutyCycle": 123,
"minimumBurnSeconds": 123,
"minimumImpulseNewtonSeconds": 123,
"overheadBurns": [
{
"anchor": "BEFORE_MAIN_BURN",
"direction": "RADIAL_OUT",
"durationSeconds": 123,
"offsetSeconds": 123,
"thrusterId": "<string>"
}
],
"requiredPowerWatts": 123,
"settlingSeconds": 123,
"thrusterId": "<string>"
}
]
},
"name": "Sentinel-1A",
"noradId": 43013,
"notYetCatalogued": true,
"organizationId": "VALAR",
"panels": [
{
"absorption": 0.3,
"derivedNormal": {
"x": 1,
"y": 0,
"z": 0
},
"doubleSided": true,
"lengthM": 2,
"mountAxisCustomX": 0,
"mountAxisCustomY": 0,
"mountAxisCustomZ": 5,
"mountAxisPreset": "PLUS_Z",
"mountPositionX": -1.5,
"mountPositionY": 0,
"mountPositionZ": 0.25,
"name": "Port array",
"panelIndex": 0,
"rotationDeg": 90,
"specularReflection": 0.2,
"widthM": 1
}
],
"prismAxis": "Z",
"prismComplementaryDiameter": 1,
"prismDiameter": 0.866025,
"prismDiameterMeasure": "INSCRIBED",
"prismEdgeM": 0.5,
"prismHeightM": 1,
"prismSides": 6,
"reflectivityCoefficient": 1,
"specularReflection": 0.3,
"srpArea": 5,
"updatedAt": "2023-11-07T05:31:56Z"
}{
"code": "import.tracking.tdm.parse_failed",
"correlationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"details": {},
"error": "Bad Request",
"fieldErrors": {},
"message": "Invalid spacecraft ID format",
"params": {},
"path": "/api/v1/stm/credentials",
"status": 400,
"timestamp": "2025-11-14T10:15:30.123Z"
}{
"error": "invalid_token",
"error_description": "An error occurred while attempting to decode the Jwt"
}{
"code": "import.tracking.tdm.parse_failed",
"correlationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"details": {},
"error": "Bad Request",
"fieldErrors": {},
"message": "Invalid spacecraft ID format",
"params": {},
"path": "/api/v1/stm/credentials",
"status": 400,
"timestamp": "2025-11-14T10:15:30.123Z"
}{
"code": "import.tracking.tdm.parse_failed",
"correlationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"details": {},
"error": "Bad Request",
"fieldErrors": {},
"message": "Invalid spacecraft ID format",
"params": {},
"path": "/api/v1/stm/credentials",
"status": 400,
"timestamp": "2025-11-14T10:15:30.123Z"
}Authorizations
API Key (format: vsp_sk_...)
Path Parameters
Spacecraft identifier (UUID)
^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$Body
Request payload for partially updating a spacecraft. Only provided fields will be updated.
Optical absorption coefficient α (dimensionless). Range (0.0, 1.0].
0 < x < 10.4
Spacecraft body-shape primitive (DKR-2 §2.1). Nullable on update — omit to leave the persisted value unchanged.
BOX, REGULAR_PRISM "BOX"
Spacecraft box/bus X dimension (width) in meters
0.001 < x < 10001.5
Spacecraft box/bus Y dimension (height) in meters
0.001 < x < 10001
Spacecraft box/bus Z dimension (length) in meters
0.001 < x < 10002
Selected public catalogue NORAD key; the server derives both identifiers.
1 <= x <= 999999If true, clears the color (sets to null)
false
If true, clears the COSPAR ID (sets to null)
false
If true, clears the dry mass (sets to null)
false
If true, clears the three principal moments (sets to null)
false
Explicitly remove the maneuver capability declaration. Cannot be combined with a profile.
If true, clears the NORAD ID (sets to null)
false
Spacecraft color in hex format (with or without #)
^#?[0-9A-Fa-f]{6}$"#FF5733"
COSPAR international designator
20^\d{4}-\d{1,3}[A-HJ-NP-Z]{1,15}$"2024-001A"
Operator-typed drag cross-sectional area in m² (DKR-1 §3.6a).
0 < x < 100005
Drag coefficient (typical values: 1.0-3.0)
0.1 < x < 102.2
Mass without propellant in kg
0.001 < x < 100000450
Caller-assigned external reference key (letters, digits, and. _ : - ; up to 64 chars). Settable once while unset; immutable once set.
64^[A-Za-z0-9._:-]{1,64}$"PARTNER-SAT-001"
Principal moment of inertia about the body's primary principal axis (kg·m²). Optional.
1500
Principal moment of inertia about the body's secondary principal axis (kg·m²). Optional.
1700
Principal moment of inertia about the body's tertiary principal axis (kg·m²). Optional.
2100
Total mass at launch in kg
0.001 < x < 100000500
Reusable declared maneuver capabilities; null means not configured, not unrestricted.
Show child attributes
Show child attributes
Name of the spacecraft
1 - 100^[a-zA-Z0-9\s_-]+$"Sentinel-1A"
NORAD catalog number
1 <= x <= 99999943013
Explicitly not yet catalogued. Omit only for legacy API clients or unrelated updates.
Advanced-geometry solar panels attached to this spacecraft. 0..8 entries; per-panel validation cascades via @Valid. Omit to leave the persisted panels unchanged.
8One independent solar / radiator panel (DKR-1 §2).
Show child attributes
Show child attributes
Extrusion axis of the regular prism (DKR-1 §3.4). Defaults to Z on create; omit on update to leave unchanged.
X, Y, Z "Z"
Operator-supplied cross-section diameter D in meters (DKR-1 §3.4).
0.001 < x < 10000.866025
Whether prismDiameter is the inscribed or circumscribed circle diameter (DKR-1 §3.4).
INSCRIBED, CIRCUMSCRIBED "INSCRIBED"
Regular-prism height L along the extrusion axis in meters (DKR-1 §3.4).
0.001 < x < 10001
Number of regular-polygon sides N (DKR-1 §3.4). Range [3, 12].
3 <= x <= 126
Reflectivity coefficient (1=pure absorber, 2=pure specular reflector)
1 < x < 21.5
Optical specular-reflection coefficient ρs (dimensionless). Range [0.0, 1.0). Energy conservation: absorption + specularReflection <= 1.0.
0 < x < 10.3
Operator-typed solar-radiation-pressure cross-sectional area in m² (DKR-1 §3.6a).
0 < x < 100005
Response
Spacecraft updated successfully
Response containing spacecraft details
Optical absorption coefficient α (dimensionless). Range (0.0, 1.0].
0.4
Body geometry primitive (BOX or REGULAR_PRISM).
BOX, REGULAR_PRISM "BOX"
Spacecraft box/bus X dimension (width) in meters
1.5
Spacecraft box/bus Y dimension (height) in meters
1
Spacecraft box/bus Z dimension (length) in meters
2
Spacecraft color in hex format
"#FF5733"
COSPAR international designator
"2024-001A"
Timestamp when the spacecraft was created
Operator-typed drag cross-sectional area in m² (null for pre-migration spacecraft)
5
Drag coefficient
2.2
Mass without propellant in kg
450
Caller-assigned external reference key (unique within your organization; immutable once set). Null when no key has been assigned.
"PARTNER-SAT-001"
Unique identifier of the spacecraft
"550e8400-e29b-41d4-a716-446655440000"
Principal moment of inertia about the body's primary principal axis (kg·m²). Optional; null when inertia is not configured.
1500
Principal moment of inertia about the body's secondary principal axis (kg·m²). Optional; null when inertia is not configured.
1700
Principal moment of inertia about the body's tertiary principal axis (kg·m²). Optional; null when inertia is not configured.
2100
Total mass at launch in kg
500
Lifecycle status of the spacecraft
"Active"
Reusable declared maneuver capabilities; null means not configured, not unrestricted.
Show child attributes
Show child attributes
Name of the spacecraft
"Sentinel-1A"
NORAD catalog number
43013
Organization ID that owns this spacecraft
"VALAR"
Per-panel rows (0..8). Each entry carries dimensions, attachment face, and orientation angles.
Show child attributes
Show child attributes
Extrusion axis of the regular prism (DKR-1 §3.4). Populated only when bodyShape=REGULAR_PRISM; null otherwise.
X, Y, Z "Z"
Cross-section diameter in the OTHER datum (the complement of prismDiameterMeasure), computed from edge + sides (DKR-1 §3.4). Populated only when bodyShape=REGULAR_PRISM; null otherwise.
1
Cross-section diameter in the operator's chosen datum (prismDiameterMeasure), computed from edge + sides (DKR-1 §3.4). Populated only when bodyShape=REGULAR_PRISM; null otherwise.
0.866025
Which diameter datum the operator used to size the cross-section (DKR-1 §3.4). Populated only when bodyShape=REGULAR_PRISM; null otherwise.
INSCRIBED, CIRCUMSCRIBED "INSCRIBED"
Canonical regular-polygon edge length a in meters (DKR-1 §6) — the persisted source-of-truth cross-section dimension. Populated only when bodyShape=REGULAR_PRISM; null otherwise.
0.5
Regular-prism height L along the extrusion axis in meters. Populated only when bodyShape=REGULAR_PRISM; null otherwise.
1
Number of regular-polygon sides N (DKR-1 §3.4). Populated only when bodyShape=REGULAR_PRISM; null otherwise.
6
Reflectivity coefficient
1
Optical specular-reflection coefficient ρs (dimensionless). Range [0.0, 1.0).
0.3
Operator-typed SRP cross-sectional area in m² (null for pre-migration spacecraft)
5
Timestamp when the spacecraft was last updated
Was this page helpful?