DELETE /v1/releases/{releaseId}¶
Переводит релиз в статус archived. Сборка становится недоступной для скачивания, но информация о релизе сохраняется для аудита.
Эта операция необратима через API. Архивные релизы можно отфильтровать в GET /v1/releases с помощью параметра status=archived.
Request¶
Path-параметры
releaseId
string
required
Идентификатор релиза.
Response
status
string
Статус операции:
success
message
string
Сообщение о результате
Примеры запроса¶
curl -X DELETE "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.delete(url, headers=headers)
print(response.json())
const releaseId = 'release-uuid-2';
fetch(`https://<DOMAIN>/v1/releases/${releaseId}`, {
method: 'DELETE',
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;
var releaseId = "release-uuid-2";
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Delete, $"https://<DOMAIN>/v1/releases/{releaseId}");
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", "<API_KEY>");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
releaseId := "release-uuid-2"
client := &http.Client{}
req, _ := http.NewRequest("DELETE", "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()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
import okhttp3.*;
import java.io.IOException;
String releaseId = "release-uuid-2";
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://<DOMAIN>/v1/releases/" + releaseId)
.delete()
.addHeader("Authorization", "Bearer <API_KEY>")
.build();
try (Response response = client.newCall(request).execute()) {
if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
System.out.println(response.body().string());
}
Пример ответа¶
{
"status": "success",
"message": "Release has been archived"
}
Мягкое удаление
Удаление реализовано как архивация:
- Релиз переходит в статус
archived - Сборка недоступна для скачивания
- История сохраняется в системе
Автоматическая архивация
Сборки автоматически удаляются через 90 дней после загрузки.
Ошибки¶
| Код | Описание |
|---|---|
| 400 | Ошибка валидации входных данных |
| 401 | Неавторизованный запрос |
| 403 | Недостаточно прав |
| 404 | Релиз не найден |
| 500 | Внутренняя ошибка сервера |