---
title: "Anuluj zaplanowaną wysyłkę"
method: DELETE
path: "/v1/messages/{id}"
tags: ["Wiadomości"]
---

# Anuluj zaplanowaną wysyłkę

`DELETE /v1/messages/{id}`

## Request

- Base URL: `https://api.przypominamy.com`
- URL: `https://api.przypominamy.com/v1/messages/{id}`
- Auth: HTTP bearer

Anuluje wiadomość ze statusem `scheduled` co najmniej 30 s przed `send_at` (SMS, MMS i głos). Status zmienia się na `cancelled`, koszt wraca na saldo (wpis `refund` w historii salda), a na koncie testowym zwracany jest kredyt testowy. Ponowne anulowanie tej samej wiadomości zwraca 200 z tym samym rekordem. Wiadomości już wysłanej albo z terminem za mniej niż 30 s nie da się cofnąć - HTTP 409. Wymaga zakresu `send`.

## Path parameters

- `id` string, required

## Response `200`

Anulowano - rekord wiadomości ze statusem `cancelled`

- Message
  - `id` string
  - `type` 'sms' | 'mms' | 'vms': Kanał: SMS, MMS, wiadomość głosowa
  - `status` 'scheduled' | 'queued' | 'sent' | 'delivered' | 'undelivered' | 'failed' | 'expired' | 'rejected' | 'cancelled' | 'unknown': `scheduled` - zaplanowana (`send_at` lub przesunięta przez `send_window`); `queued` - przyjęta; `sent` - przekazana do sieci; `delivered` - doręczona; `undelivered` - niedoręczona; `failed` - odrzucona przez dostawcę; `rejected` - odrzucona przez nas (numer na czarnej liście, koszt 0); `expired` - wygasła (m.in. po `expires_at`); `cancelled` - zaplanowana wysyłka anulowana przez `DELETE /v1/messages/{id}`, koszt zwrócony; `unknown` - dostawca nie potwierdził (timeout / 5xx), saldo zarezerwowane do uzgodnienia po idx albo DLR
  - `to` string
  - `from` string, nullable
  - `text` string: Treść po personalizacji - dokładnie to, co dostał odbiorca (link opt-out, śledzone linki `api.przypominamy.com/l/…` i placeholdery już podstawione)
  - `subject` string, nullable: Temat (tylko MMS)
  - `parts` integer
  - `cost_grosze` integer: Koszt w groszach (0 dla odrzuconych; po anulowaniu zwrócony na saldo)
  - `priority` boolean: Czy wysłano jako SMS priorytetowy (podwójna stawka)
  - `reference` string, nullable
  - `send_at` string, date-time, nullable: Termin wysyłki (po przesunięciu przez `send_window`, jeśli było)
  - `expires_at` string, date-time, nullable: Koniec prób doręczenia, gdy podano `expires_at`
  - `delivered_at` string, date-time, nullable
  - `error` string, nullable: Powód odrzucenia, gdy status = failed lub rejected (np. „Numer na czarnej liście (opt-out)”)
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `401`: Brak lub nieprawidłowy klucz API
- `403`: Klucz bez wymaganego zakresu (albo konto zawieszone / testowe wysyła na niezweryfikowany numer)
- `404`: Nie znaleziono
- `409`: Nie można anulować (wiadomość nie jest zaplanowana albo termin za mniej niż 30 s)
- `502`: Błąd lub brak odpowiedzi dostawcy SMS (502/504)

---

[API](https://skmtc.dev/przypominamy/apis/przypominamy-com-sms-api.md) · [All operations](https://skmtc.dev/przypominamy/apis/przypominamy-com-sms-api/llms.txt) · [OpenAPI document](https://skmtc.dev/przypominamy/apis/przypominamy-com-sms-api/revisions/c20f9cfc2a7d?raw)
