Create Route
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name for the route |
target_base_url | string | Yes | The upstream API base URL to proxy requests to |
base_environment | string | No | Default environment (defaults to production) |
inject_headers_json | object | No | Headers to inject into proxied requests |
inject_body_json | object | No | Body fields to inject into proxied requests |
injection_rules | object[] | No | Advanced injection rules for secrets |
ip_allowlist | string[] | No | IP addresses or CIDR ranges allowed to call this route |
method_configs | object | No | Per-HTTP-method configuration overrides |
collection_id | string | No | Assign to a collection |
Response
Returns the newly created route record (the fullroutes table row, including all columns). Note this differs from the Get Route response, which returns a projected shape with additional derived fields (environment_override_count, payload_structure, injection_rules, ip_allowlist, data_plane_node_id, and configured_environments) that are not included here. Call Get Route to retrieve those fields.
Errors
| Status | Type | Description |
|---|---|---|
| 400 | validation_error | Missing required fields or invalid environment |
| 403 | plan_limit | Route limit reached for your subscription plan |
| 409 | conflict | A route with this name already exists |