Перейти к содержанию

DELETE /v1/releases/{releaseId}

Переводит релиз в статус archived. Сборка становится недоступной для скачивания, но информация о релизе сохраняется для аудита.

Эта операция необратима через API. Архивные релизы можно отфильтровать в GET /v1/releases с помощью параметра status=archived.


Request

Path-параметры
releaseId string required
Идентификатор релиза.
Response 200 OK · application/json
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 Внутренняя ошибка сервера

См. также