verris.

Publiczne API Verris (v1)

Tokeny, uprawnienia, wszystkie endpointy, limity i webhooki — dokumentacja API v1.

⏱ 2 min czytania

Do czego służy

API pozwala odczytać usługi, portfel i faktury oraz zarządzać rekordami DNS i wdrożeniami z Gita — z własnych skryptów, CI/CD albo Terraform. Działa na koncie klienta i widzi tylko jego dane.

Token

Token utworzysz w panelu: API i integracje → Nowy token. Wybierasz uprawnienia i opcjonalnie datę wygaśnięcia. Token pokazujemy tylko raz — zapisz go w menedżerze haseł. Unieważnisz go w tym samym miejscu.

Każde żądanie wysyłasz z nagłówkiem:

Authorization: Bearer vrs_live_…

Adres bazowy: https://api.verris.pl/api/v1

Uprawnienia (zakresy)

  • services:read — lista i szczegóły usług, dane konta
  • billing:read — saldo portfela
  • invoices:read — faktury
  • dns:read — odczyt rekordów DNS
  • dns:write — dodawanie i usuwanie rekordów DNS
  • deploy:write — wdrożenie z repozytorium Git

Subkonto nada tokenowi tylko te zakresy, na które pozwalają mu jego uprawnienia w panelu.

Odczyt

  • GET /me (services:read) — id, e-mail, imię, nazwisko, data założenia konta
  • GET /services (services:read) — lista usług: id, serviceTag, status, interval, product, plan, domain, currentPeriodEnd, createdAt (do 200 najnowszych)
  • GET /services/:id (services:read) — jak wyżej oraz price, currency, currentPeriodStart
  • GET /billing/wallet (billing:read) — balance, currency
  • GET /invoices (invoices:read) — id, number, status, amount, currency, issuedAt, createdAt (do 100 najnowszych)
  • GET /services/:id/dns?domain= (dns:read) — rekordy domeny: id, name, type, value, ttl; bez parametru — domena główna usługi
  • GET /services/:id/deploy?domain= (deploy:write) — stan wdrożenia z Gita dla domeny

Daty są w formacie ISO 8601 (UTC), kwoty jako liczby.

Zapis

  • POST /services/:id/dns (dns:write) — pola: domain, name, type (A, AAAA, CNAME, MX, TXT, SRV, NS, CAA), value, opcjonalnie ttl (60–86400)
  • POST /services/:id/dns/delete (dns:write) — pola: domain, name, type, value
  • POST /services/:id/deploy (deploy:write) — pola: domain, opcjonalnie dir; pobiera zmiany z repozytorium Git

Przykład — rekord TXT do weryfikacji DNS-01:

curl -X POST https://api.verris.pl/api/v1/services/ID_USLUGI/dns \
  -H "Authorization: Bearer vrs_live_…" \
  -H "Content-Type: application/json" \
  -d '{"domain":"twojadomena.pl","name":"_acme-challenge","type":"TXT","value":"…"}'

Błędy i limity

  • 401 — brak tokenu, token nieprawidłowy, wygasły lub unieważniony, konto zablokowane
  • 403 — token nie ma wymaganego uprawnienia
  • 404 — usługa nie istnieje albo nie należy do Twojego konta
  • 429 — za dużo żądań (limit to 300 na minutę)

Webhooki

W API i integracje → Webhooki podajesz adres HTTPS i wybierasz zdarzenia: task.completed, task.failed, invoice.issued, subscription.renewed, subscription.past_due. Każde wywołanie to POST z treścią JSON (id, event, createdAt, payload) i nagłówkami x-verris-event oraz x-verris-signature — HMAC-SHA256 treści z Twoim sekretem. Sprawdzaj podpis przed przetworzeniem. Nieudane dostarczenie ponawiamy do 5 razy z rosnącym odstępem; przycisk „Wyślij test” wysyła zdarzenie ping.

Czego API v1 nie robi

Zamawianie i opłacanie usług, rejestracja domen i zakładanie skrzynek pocztowych są dostępne tylko w panelu.

Najczęstsze pytania

Czy mogę ustawić rekordy DNS z Terraform albo certbota?

Tak. Utwórz token z uprawnieniem dns:write i wołaj POST /services/:id/dns oraz /dns/delete. To wystarcza m.in. do weryfikacji DNS-01 przy certyfikatach wildcard.

Jak sprawdzić, że webhook naprawdę wysłał Verris?

Policz HMAC-SHA256 z surowej treści żądania kluczem-sekretem webhooka i porównaj z nagłówkiem x-verris-signature. Jeśli się nie zgadza, odrzuć żądanie.

Powiązane artykuły

Dwuskładnikowe logowanie i passkey Zabezpiecz konto Verris drugim składnikiem lub kluczem passkey.

Ostatnia aktualizacja: 29 października 2026