Games
Grant writes for an exported game's upload parts
Requires builds.write while the exported game’s upload is open.
POST
/
v1
/
management
/
games
/
{gameId}
/
build-publications
/
{publicationId}
:signParts
Grant writes for an exported game's upload parts
curl --request POST \
--url https://api.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"parts": [
{
"partNumber": 2,
"sha256": "<string>"
}
]
}
'import requests
url = "https://api.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts"
payload = { "parts": [
{
"partNumber": 2,
"sha256": "<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({parts: [{partNumber: 2, sha256: '<string>'}]})
};
fetch('https://api.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts', 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.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts",
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([
'parts' => [
[
'partNumber' => 2,
'sha256' => '<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.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts"
payload := strings.NewReader("{\n \"parts\": [\n {\n \"partNumber\": 2,\n \"sha256\": \"<string>\"\n }\n ]\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.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"parts\": [\n {\n \"partNumber\": 2,\n \"sha256\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts")
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 \"parts\": [\n {\n \"partNumber\": 2,\n \"sha256\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"parts": [
{
"partNumber": 123,
"method": "PUT",
"url": "<string>",
"headers": {},
"expiresAt": "2023-11-07T05:31:56Z"
}
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>",
"retryable": true
}
}Authorizations
Your Summer account token. An agent gets it by signing in with OAuth: summer login --store in the Summer CLI, or the Summer connector in an AI app. Agent tokens can call only the operations on these pages. Publishing needs an approval from the game's owner first.
Path Parameters
Pattern:
^game_[A-Za-z0-9_-]{8,123}$Body
application/json
Required array length:
1 - 100 elementsShow child attributes
Show child attributes
Response
One write grant per requested part
Show child attributes
Show child attributes
⌘I
Grant writes for an exported game's upload parts
curl --request POST \
--url https://api.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"parts": [
{
"partNumber": 2,
"sha256": "<string>"
}
]
}
'import requests
url = "https://api.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts"
payload = { "parts": [
{
"partNumber": 2,
"sha256": "<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({parts: [{partNumber: 2, sha256: '<string>'}]})
};
fetch('https://api.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts', 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.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts",
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([
'parts' => [
[
'partNumber' => 2,
'sha256' => '<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.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts"
payload := strings.NewReader("{\n \"parts\": [\n {\n \"partNumber\": 2,\n \"sha256\": \"<string>\"\n }\n ]\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.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"parts\": [\n {\n \"partNumber\": 2,\n \"sha256\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.summer.games/v1/management/games/{gameId}/build-publications/{publicationId}:signParts")
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 \"parts\": [\n {\n \"partNumber\": 2,\n \"sha256\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"parts": [
{
"partNumber": 123,
"method": "PUT",
"url": "<string>",
"headers": {},
"expiresAt": "2023-11-07T05:31:56Z"
}
]
}{
"error": {
"code": "<string>",
"message": "<string>",
"requestId": "<string>",
"retryable": true
}
}
