Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ sk.send(
cc=["ops@example.com"], # email only
from_="hello@acme.com", # email only — From address override (bare address)
from_name="Acme Support", # email only — From display name → "Acme Support <hello@acme.com>"
scheduled_at=datetime(2026, 1, 1, 9, 0, tzinfo=timezone.utc), # datetime or ISO-8601 string
scheduled_at=datetime(2026, 1, 1, 9, 0, tzinfo=timezone.utc), # datetime or ISO-8601 string; future & ≤ 30 days ahead
idempotency_key="order-1234-shipped", # optional; see Idempotency below
)
```
Expand Down
4 changes: 4 additions & 0 deletions src/senderkit/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ class TemplateSend:
version: Optional[int] = None
channel: Optional[ChannelLike] = None
metadata: Optional[Metadata] = None
#: Defer delivery. Must be in the future and at most 30 days ahead; the API
#: rejects a past or too-distant timestamp with ``400``. Omit to send now.
scheduled_at: Optional[ScheduledAt] = None
cc: Optional[List[str]] = None
bcc: Optional[List[str]] = None
Expand Down Expand Up @@ -134,6 +136,8 @@ class RawSend:
interpolate: Optional[bool] = None
vars: Optional[Vars] = None
metadata: Optional[Metadata] = None
#: Defer delivery. Must be in the future and at most 30 days ahead; the API
#: rejects a past or too-distant timestamp with ``400``. Omit to send now.
scheduled_at: Optional[ScheduledAt] = None
idempotency_key: Optional[str] = None

Expand Down