Skip to content

Limits

Use auth.limits to inspect effective KSeF limits and, where your credentials allow it, override limits for TEST or administrative contexts.

context = auth.limits.get_context_limits()
print(context.online_session.max_invoices)
print(context.batch_session.max_invoice_size_mb)
from ksef2.domain.models.limits import ContextLimits, SessionLimits
limits = ContextLimits(
online_session=SessionLimits(
max_invoice_size_mb=10,
max_invoice_with_attachment_size_mb=20,
max_invoices=100,
),
batch_session=SessionLimits(
max_invoice_size_mb=10,
max_invoice_with_attachment_size_mb=20,
max_invoices=1000,
),
)
auth.limits.set_session_limits(limits=limits)
auth.limits.reset_session_limits()

Use set_production_rate_limits() when a TEST-like environment should mirror production API rate defaults.

  1. Read effective limits before choosing batch size or polling behavior.

  2. Use production defaults unless a controlled test needs a different limit.

  3. Apply overrides from an explicit admin workflow.

  4. Reset limits after the test or temporary change.