| Limit | Value | Notes |
|---|---|---|
| Max source package size (uncompressed) | 25 MB | Enforced at upload time |
| Max files in source package | 500 | Enforced at upload time |
| Build timeout | 10 minutes | Build is polled at 5-second intervals |
| Supported runtimes | node, csharp |
| Limit | Value | Notes |
|---|---|---|
| Execution timeout | No hard limit enforced | Subject to change |
| Memory allocation | 1 Gi | Per function, subject to change |
| Request body | 10 MB | Same cap locally, through the tunnel, and deployed |
| Request/response body in logs | First 64 KB | Text bodies only; binary bodies are never logged |
A request over 10 MB is rejected with HTTP 413 before your handler runs. The platform router in front of every deployed function enforces the same cap, so a payload that works in sinch functions dev works in production.
Security restrictions (production only):
- Outbound HTTP requests must use HTTPS. Plain HTTP to external hosts is blocked.
- Direct IP addresses are blocked (prevents access to cloud metadata endpoints).
- Internal service DNS names are blocked.
- Localhost traffic is allowed for internal cache/secrets communication only.
| Limit | Value | Notes |
|---|---|---|
| Default TTL | 3600 seconds (1 hour) | Applied when no TTL is passed to cache.set() |
| Minimum TTL | No enforced minimum | |
| Maximum TTL | No enforced maximum | Subject to change |
| Key size | No enforced limit | Subject to change |
| Value size | No enforced limit | Values are JSON-serialized before storage |
| Limit | Value | Source |
|---|---|---|
timeout (milliseconds) | 1000-30000 | Enforced in MenuBuilder.timeout() |
maxDigits | 1-20 | Enforced in MenuBuilder.maxDigits() |
repeats | 0-5 | Enforced in MenuBuilder.repeats() |
| Default timeout | 8000 ms | Applied when not explicitly set |
| Default repeats | 2 | Applied when not explicitly set |
| Default maxDigits | 1 | Applied when not explicitly set |
These limits are validated at build time and throw immediately if violated.
| Limit | Value | Notes |
|---|---|---|
| Inbound request forwarding timeout | 30 seconds | Per-request; returns HTTP 504 on timeout |
| Max request body | 10 MB | Matches the deployed limit |
| Tunnel idle timeout | 15 minutes | Idle tunnels are cleaned up automatically |
| Tunnel connection timeout | 60 minutes | Maximum tunnel session duration |
The tunnel gateway disconnects after 15 minutes of inactivity regardless of the overall session timeout.
Rate limits are applied per project using a sliding window. They can be overridden on a per-project basis by platform operators.
| Endpoint group | Default limit | Window |
|---|---|---|
| Function CRUD | 100 requests | 60 seconds |
| Deployments | 10 requests | 60 seconds |
| Configuration reads | 200 requests | 60 seconds |
| Secret value reads | 10 requests | 60 seconds |
| Log streaming (concurrent connections) | 5 concurrent | |
| Operations endpoints | 20 requests | 60 seconds |
All limits are subject to change.
- Deployment — what happens during a deploy



