IOSOR Learn

Balancing Outbound API Concurrency Caps with Carrier TPS Limits

Master the equilibrium between your IOSOR API concurrency settings and downstream throughput allocations to ensure seamless message delivery during high-volume scaling events.

In the IOSOR ecosystem, misaligning concurrency and throughput often triggers 429 errors. The trap is allowing simultaneous connections to exceed your actual TPS capacity, which overflows the gateway buffer. You can fix this by implementing a local rate-limiter that keeps your outbound traffic slightly below your allocated TPS.

Understanding Concurrency vs. Throughput

In the IOSOR ecosystem, concurrency refers to the number of simultaneous active HTTP connections your application maintains with our gateway. Throughput, or Transactions Per Second (TPS), represents the actual rate at which messages are processed and handed off to the network. Misaligning these two metrics often leads to 429 errors. When your concurrency exceeds your allocated TPS, the gateway queues requests, eventually hitting a buffer limit that triggers rejection.

Configuring Local Rate-Limiters

Your application logic should treat the IOSOR API as a throttled resource. Instead of firing requests as fast as your infrastructure allows, implement a token bucket algorithm that aligns with your current throughput allocation. If your account is provisioned for 50 TPS, your outbound client should be capped at 45 to account for network jitter and latency. This buffer prevents the accumulation of pending requests that lead to timeouts.

Managing JIT Provisioning and Prepaid Holds

IOSOR operates on a JIT model where numbers are assigned upon request, avoiding the need for static inventory. To ensure uninterrupted service, maintain a minimum USD 20 prepaid floor in your ledger. When your monthly volume approaches the USD 1,000/month threshold, our system triggers a soft review to verify traffic patterns and ensure your throughput allocations remain optimized for your growth.

Handling DLR and Webhook Backpressure

High-volume throughput generates significant DLR traffic. If your webhook endpoint cannot process incoming DLRs as fast as they arrive, you risk backpressure that can degrade your overall API performance. Ensure your webhook handler is asynchronous and decoupled from your primary message submission logic. By offloading DLR processing to a message queue, you protect your outbound concurrency from being throttled by slow inbound acknowledgment processing.

Optimizing for E.164 and Compliance

Every request must adhere to strict E.164 formatting to avoid validation errors that consume your throughput budget. Invalid requests still count against your rate limits without delivering value. Use the Verify OK status to confirm number validity before submission.

Related: Pilot throughput: honest ceiling · Rate-limit gate before you allow bursts · API Volume Review: Idempotency at Load.

Start with IOSOR

Log into your IOSOR Console to review your assigned TPS throughput allocation against active outbound HTTP connection pools. Configure an internal token bucket rate-limiter on your dispatch layer to enforce maximum request bursts before hitting gateway gates. Decouple your DLR webhook processing queue to ensure incoming delivery updates never throttle outgoing API traffic.

IOSOR takeaway

High-throughput API integrations fail when client-side HTTP connection concurrency overwhelms carrier-level TPS caps. Balancing pool size with actual allocated throughput prevents HTTP 429 rejections and maintains predictable delivery latencies during traffic spikes.

Do align your local token bucket limits directly with your provisioned IOSOR TPS ceiling and decouple DLR ingest endpoints from message generation. Don't open arbitrary parallel connection pools or retry rejected payloads without exponential backoff.

Was this guide helpful?

Related guides