Destek artefaktı yükle
POST /v1/support-artifacts · izin support-artifacts:write
Bir HAR dosyasını ya da bir günlüğü destek talebine ekler. Artefaktlar yalnız panodaki Destek sayfasından yüklenir; API anahtarları ve makine istemcileri 403 insufficient_permissions alır. Pano, yüklemeden önce sırları tarayıcınızda kaldırır ve sunucu artefaktı yeniden tarar: Cookie, Set-Cookie, Authorization ve DPoP başlıkları, OAuth, OIDC ve SAML belirteç alanları, __Host- çerezleri, JWT'ler ve KeenAuth önekli sırlar [redacted] ile değiştirilir. Artefaktta bulunan bir yönetim API anahtarı (idp_sk_, idp_rk_) hemen iptal edilir; iptal başarısız olursa hiçbir şey saklanmaz ve yükleme 503 döner. Yalnız temizlenmiş içerik saklanır, ortamın veri anahtarıyla şifrelenir ve 30 gün sonra silinir. Yanıt hiçbir zaman içeriği ya da kaldırılan değerleri içermez.
İstek
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
ticket_ref |
query | evet | Destek talebi başvurusu: 1-64 karakter, harfler, rakamlar ve _ . : -; bir harf ya da rakamla başlar. |
kind |
query | evet | har (bir HAR 1.2 JSON belgesi) ya da log (düz metin). |
Content-Type |
header | evet | application/octet-stream. |
Content-Encoding |
header | hayır | Sıkıştırılmış bir artefakt göndermek için gzip. |
Idempotency-Key |
header | hayır | İsteğe bağlı. 16-64 karakter [A-Za-z0-9_-]; aynı anahtarın aynı gövdeyle yinelenmesi aynı artefaktı döndürür. |
Gövde artefaktın kendisidir: sıkıştırılmamış en fazla 50 MB. İstek gövdesi ağda 11 MiB ile sınırlıdır, bu yüzden büyük artefaktları gzip ile sıkıştırın. Bir talep en fazla 10 artefakt tutar.
Yanıt
Saklanan artefaktla birlikte 201 Created. findings, kaldırılan değerleri türüne göre sayar; revocations_triggered, artefaktta göründükleri için iptal edilen kimlik bilgisi sayısıdır.
{
"id": "sart_01j9xk3m7q8r2s4t6v8w0y2z4a",
"ticket_ref": "SUP-48213",
"kind": "har",
"size_bytes": 482113,
"sha256": "9f2b5c7d1e3a4f60718293a4b5c6d7e8f90123456789abcdef0123456789abcd",
"findings": {"authorization": 2, "cookie": 5, "host_cookie": 3, "oauth_param": 1},
"revocations_triggered": 0,
"created_at": "2026-11-10T09:30:00.123456Z",
"expires_at": "2026-12-10T09:30:00.123456Z"
}
Hatalar
| HTTP | code | Ne zaman |
|---|---|---|
| 400 | malformed_request |
Gövde okunamadı, gzip akışı geçersiz ya da Idempotency-Key biçimsiz. |
| 401 | unauthenticated |
Kimlik bilgisi yok, geçersiz ya da iptal edilmiş. |
| 403 | insufficient_permissions |
İstek panodan yapılmadı ya da pano rolünde support-artifacts:write yok. |
| 403 | quota_exceeded |
Talepte zaten 10 artefakt var. |
| 413 | payload_too_large |
Artefakt 50 MB'tan büyük ya da istek gövdesi 11 MiB'tan büyük. |
| 415 | unsupported_media_type |
Content-Type application/octet-stream değil ya da içerik kodlaması gzip değil. |
| 422 | validation_failed |
ticket_ref ya da kind eksik ya da geçersiz, gövde boş ya da bir har artefaktı HAR belgesi değil (/body invalid_har). |
| 422 | idempotency_key_reuse |
Idempotency-Key daha önce farklı bir gövdeyle kullanıldı. |
| 429 | rate_limited |
Çok fazla yükleme işleniyor ya da hız sınırı aşıldı; Retry-After süresinden sonra yeniden deneyin. |
| 503 | service_unavailable |
Artefakt saklanmadı (bir kimlik bilgisi iptal edilemedi ya da depolama kullanılamıyor); Retry-After süresinden sonra yeniden deneyin. |
Örnek
Yüklemeler bir pano eylemidir. Panonun gönderdiği istek:
POST /v1/support-artifacts?ticket_ref=SUP-48213&kind=har
Content-Type: application/octet-stream
Content-Encoding: gzip
Idempotency-Key: 2f1c9a7e-5b3d-4e8f-9a6c-1d2e3f4a5b6c
<gzip sıkıştırılmış HAR dosyası>