Skip to main content

Commit

Scope

This page defines commit-time validation, pricing, and settlement behavior for lease-backed usage.

Required inputs

  • Idempotency-Key is required.
  • lease_token is required and must be valid.
  • feature_code must match the lease feature.
  • quantity_minor is required and must be > 0.
  • meters[] is optional; when omitted, primary activity meter is used.

Validation sequence

  1. Resolve and lock lease by token.
  2. Validate feature match and optional seat match against lease metadata.
  3. Validate lease state and expiry status.
  4. Resolve quota windows from lease metadata; missing/mismatched window metadata causes quarantine semantics.
  5. Validate meter set against feature-meter allowlist for activity semantic kind.
  6. Resolve pricing for each meter line.
  7. Build aggregate pricing and apply settlement.

Quarantine semantics

Commit supports non-fatal quarantine behavior:

  • Invalid or disallowed meter mapping
  • Missing policy window metadata at commit time
  • Missing pricing for one or more meters
  • Lease not active or late commit beyond grace

When quarantined:

  • application_status is quarantined
  • applied quantity is set to 0
  • settlement amount is set to 0
  • rating/line records are still written for traceability
  • hints and reason codes are returned

Pricing and settlement semantics

  • Pricing is resolved at commit time (floating model).
  • Feature quantity and meter quantities are separate dimensions.
  • Each line carries pricing snapshot and cost snapshot fingerprints.
  • Residual rounding is maintained per billing account + meter + pricing identity.
  • Settlement allocates funding sources and persists pending settlement facts.

Hint semantics at commit

Commit may emit:

  • lease.closed_at_commit
  • lease.expired
  • policy.window_not_found
  • feature.meter_not_allowed
  • pricing.not_configured
  • pricing.meter_price_missing
  • pricing.contract_term_invalid
  • pricing.changed
  • quota.remaining
  • budget.low_headroom

Idempotency behavior

  • Commit idempotency is scoped to lease + key.
  • Same key + same request hash returns stored response snapshot.
  • Same key + different request hash returns 409.

Verify checklist

  • Replayed idempotent commit returns stable commit id and lines.
  • Quarantined commits write traceable facts but do not settle.
  • Missing pricing meters are reflected in hints and reason codes.
  • Late commit within grace emits hint; beyond grace quarantines application.