GET /v1/releases/{releaseId}¶
Возвращает полную информацию о релизе, включая данные сборки, ссылки для скачивания и список групп тестирования, которым распространён релиз.
Идентификатор релиза можно получить из ответа GET /v1/releases или POST /v1/builds.
Request¶
Path-параметры
releaseId
string
required
Уникальный идентификатор релиза.
Response
id
string
Идентификатор релиза
version
string
Версия релиза
number
integer
Порядковый номер релиза внутри версии
createdAt
string
Дата создания (ISO8601 UTC)
status
string
Статус релиза
access
string
Тип доступа:
private / public
description
string
Описание релиза
build
object
Информация о сборке
Показать вложенные параметры ›
buildid
string
Идентификатор сборки
buildscanStatus
string
Статус сканирования
builddownloadUrl
string
URL для скачивания
buildqrUrl
string
URL QR-кода
groups
array
Группы тестирования
Показать вложенные параметры ›
groups[]id
string
Идентификатор группы
groups[]name
string
Название группы
Примеры запроса¶
curl -X GET "https://<DOMAIN>/v1/releases/{releaseId}" \
-H "Authorization: Bearer <API_KEY>"
import requests
release_id = "release-uuid-2"
url = f"https://<DOMAIN>/v1/releases/{release_id}"
headers = {"Authorization": "Bearer <API_KEY>"}
response = requests.get(url, headers=headers)
print(response.json())
const releaseId = 'release-uuid-2';
fetch(`https://<DOMAIN>/v1/releases/${releaseId}`, {
method: 'GET',
headers: {
'Authorization': 'Bearer <API_KEY>'
}
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
using System.Net.Http.Headers;
using System.Text.Json;
var releaseId = "release-uuid-2";
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, $"https://<DOMAIN>/v1/releases/{releaseId}");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "<API_KEY>");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var content = await response.Content.ReadAsStringAsync();
var release = JsonSerializer.Deserialize<JsonElement>(content);
package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
releaseId := "release-uuid-2"
client := &http.Client{}
req, _ := http.NewRequest("GET", "https://<DOMAIN>/v1/releases/"+releaseId, nil)
req.Header.Add("Authorization", "Bearer <API_KEY>")
res, err := client.Do(req)
if err != nil { /* ... обработка ошибки ... */ }
defer res.Body.Close()
var release map[string]interface{}
json.NewDecoder(res.Body).Decode(&release)
fmt.Println(release)
}
import okhttp3.*;
import org.json.JSONObject;
import java.io.IOException;
String releaseId = "release-uuid-2";
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://<DOMAIN>/v1/releases/" + releaseId)
.get()
.addHeader("Authorization", "Bearer <API_KEY>")
.build();
try (Response response = client.newCall(request).execute()) {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
JSONObject release = new JSONObject(response.body().string());
System.out.println(release);
}
Пример ответа¶
{
"id": "3213a948-7475-4c18-8082-eb097ba0aa17",
"version": "1.0",
"number": 1,
"createdAt": "2026-02-02T20:52:56.462739Z",
"status": "success",
"access": "private",
"description": null,
"build": {
"id": "afabcf84-ad1a-4f41-bf8b-28b65d4b8e3a",
"scanStatus": "success",
"downloadUrl": null,
"qrUrl": null
},
"groups": []
}
Ошибки¶
| Код | Описание |
|---|---|
| 400 | Ошибка валидации входных данных |
| 401 | Неавторизованный запрос |
| 403 | Недостаточно прав |
| 404 | Релиз не найден |
| 500 | Внутренняя ошибка сервера |