---
title: "Update a Route"
method: PUT
path: "/apps/{app}/routes/{route}"
tags: ["Routes"]
---

# Update a Route

`PUT /apps/{app}/routes/{route}`

Update a route

## Path parameters

- `app` string, required
- `route` string, required

## Request body

- RouteWrapper
  - `message` string
  - `error` ErrorBody
    - `message` string
    - `fields` string
  - `route` Route, required
    - `path` string — URL path that will be matched to this route
    - `image` string — Name of Docker image to use in this route. You should include the image tag, which should be a version number, to be more accurate. Can be overridden on a per route basis with route.image.
    - `headers` object — Map of http headers that will be sent with the response
    - `memory` integer — Max usable memory for this route (MiB).
    - `type` 'sync' | 'async' — Route type
    - `format` 'default' | 'http' | 'json' — Payload format sent into function.
    - `max_concurrency` integer — Maximum number of hot containers concurrency
    - `config` object — Route configuration - overrides application configuration
    - `timeout` integer — Timeout for executions of this route. Value in Seconds

## Response `200`

Route updated

- RouteWrapper
  - `message` string
  - `error` ErrorBody
    - `message` string
    - `fields` string
  - `route` Route, required
    - `path` string — URL path that will be matched to this route
    - `image` string — Name of Docker image to use in this route. You should include the image tag, which should be a version number, to be more accurate. Can be overridden on a per route basis with route.image.
    - `headers` object — Map of http headers that will be sent with the response
    - `memory` integer — Max usable memory for this route (MiB).
    - `type` 'sync' | 'async' — Route type
    - `format` 'default' | 'http' | 'json' — Payload format sent into function.
    - `max_concurrency` integer — Maximum number of hot containers concurrency
    - `config` object — Route configuration - overrides application configuration
    - `timeout` integer — Timeout for executions of this route. Value in Seconds

## Other responses

- `400` — Invalid route due to parameters being missing or invalid.
- `404` — App does not exist.
- `default` — Unexpected error

## Changes

- **2016-12-13** `156d6440b85c` — 1 breaking, 3 info
  - removed the success response with the status `201`
  - added the non-success response with the status `404`
  - removed the non-success response with the status `500`
  - added the success response with the status `200`
- **2016-11-21** `6ce2ca3fd00a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/iron-io/apis/ironfunctions/changes/apps/:app/routes/:route/put.md)

---

[API](https://skmtc.dev/iron-io/apis/ironfunctions.md) · [All operations](https://skmtc.dev/iron-io/apis/ironfunctions/llms.txt) · [OpenAPI document](https://skmtc.dev/iron-io/apis/ironfunctions/revisions/156d6440b85c?raw)
