Skip to main content
Limits are behavioral contracts: each one states what the platform enforces, what you see when you hit it, and what to do instead.

Execution Limits

LimitDefaultMaximum
Request timeout30 seconds60 seconds
Memory per container256 MB512 MB
Request body size10 MB10 MB
Response body size10 MB10 MB
Request timeout. A function must respond within the timeout or the request is terminated with a 504 Gateway Timeout. The timeout is not set in func.toml — there is no timeout_seconds field. Budget your own upstream calls below the platform limit (for example, a 25-second timeout on outbound requests) so you can return a real error instead of a 504. Memory. Each container has a fixed allocation. Exceed it and the container is terminated; the next request starts a fresh one (a cold start). Stream large payloads instead of buffering them, and don’t let in-memory caches grow unbounded — memory is per-container and disappears on restart anyway. For durable state, see Where state lives.

Function Limits

LimitValue
Function code size50 MB (compressed)
Environment variables per function64
Environment variable name size256 bytes
Environment variable value size5 KB
Secrets per organization100
Secret value size10 KB
The code size limit includes dependencies after compression. If you hit it: remove unused dependencies, exclude development dependencies from the shipped directory, or split into multiple functions.

Network Limits

LimitValue
Outbound connections per request100
Outbound request timeoutSet by your code, bounded by the request timeout
DNS resolution timeout5 seconds
The outbound connection count covers HTTP/HTTPS requests, database connections, and TCP sockets. Since a container serves many requests over its lifetime, open clients and connection pools once at module scope and reuse them across requests rather than reconnecting per invocation.

Rate Limits

LimitValue
Deployments per hour60
API requests per minute1,000
Concurrent function invocationsNo hard limit (auto-scales)
Function creation is also rate limited: telnyx-edge new-func registers the function server-side at scaffold time, and rapid successive calls return 429. Wait and retry. There is no hard cap on concurrent invocations — the platform scales containers with traffic. Each new container pays a cold start, so sharply spiky traffic sees higher tail latency.

Account Limits

LimitValue
Functions per organization100
Total requests and CPU time are usage-billed with a monthly free tier — see Pricing.
Need higher limits? Contact support@telnyx.com.

KV Storage Limits

LimitValue
Key length256 characters — over returns 400
Key charactersa-z A-Z 0-9 - _ / = . (no colons)
Value size1 MiB (1,048,576 bytes) — over returns 413
TTLWhole seconds, minimum 1
KV Best Practices is the authoritative KV limits page. For values over 1 MiB, store the object in Cloud Storage and keep a reference in KV.

When a Limit Is Exceeded

ErrorCodeMeaning
Request Timeout504Function didn’t respond in time
Memory Exceeded500Container terminated due to memory
Payload Too Large413Request/response body exceeded limit
Rate Limited429Too many requests or deployments