---
title: "Update Design"
method: PUT
path: "/tenants/{tenant_id}/designs/{id}"
tags: ["Designs"]
---

# Update Design

`PUT /tenants/{tenant_id}/designs/{id}`

Update a design's name and latest milestone.

## Path parameters

- `tenant_id` string, uuid, required
- `id` string, uuid, required

## Request body

- object
  - `design` object — Design fields to update.
    - `name` string — Name of the design.
    - `milestone` object — Latest milestone for the design
      - `milestone` 'offer' | 'sold' | 'installed' | 'permission_to_operate' | 'change_order' | 'revised' | 'canceled', required — The latest milestone to use for this design. Note that marking a design as sold will mark all other sold designs on the project as canceled. Setting this to "change_order" requires change_order_types to also be provided.
      - `notes` string — Notes for the milestone
      - `change_order_types` string[] — Required when milestone is "change_order". One or more reasons for the change order.

## Response `200`

Design successfully updated.

- object
  - `design` object
    - `id` string, uuid — Unique ID identifying the design.
    - `external_provider_id` string — Unique ID of design provided by external provider.
    - `project_id` string, uuid — Unique ID identifying the project that this design belongs to.
    - `name` string — Name of the design.
    - `design_request_id` string, uuid — For designs created via a [design request](https://docs.aurorasolar.com/reference/design-requests), unique ID for the design request.
    - `milestone` object, nullable — The latest milestone for the design. Null if no milestone has been set.
      - `id` string, uuid — Unique ID identifying the milestone.
      - `milestone` 'offer' | 'sold' | 'installed' | 'permission_to_operate' | 'change_order' | 'revised' | 'canceled' — The milestone of the design
      - `notes` string — Notes for the milestone
      - `recorded_at` string, date-time — The timestamp of when the milestone was recorded in UTC.
      - `canceled_from_milestone` 'offer' | 'sold' | 'installed' | 'permission_to_operate' | 'change_order' | 'revised', nullable — The milestone before the design was marked canceled. Null if the current milestone is not canceled.
      - `change_order_types` string[] — Reasons for the change order. Empty unless milestone is "change_order".
    - `created_at` string, date-time — The timestamp of when the design was created in UTC.
    - `image_src` 'Google' | 'Bing' | 'Google HD (Sunroof)' | 'Nearmap' | 'Nearmap (True Ortho)' | 'EagleView' | 'Vexcel' | 'Unknown' | 'Multiple' | 'In Progress' | 'None' — The imagery source selected in this design. "Multiple" indicates that multiple sources are selected. "In Progress" indicates that the image is still being downloaded. "None" indicates that no image source is selected. "Unknown" indicates that the image source is undetermined.
    - `lidar_src` 'Google Sunroof' | 'Aurora Lidar' | 'Vexcel Lidar' | 'Unknown' | 'In Progress' | 'None' — The Lidar source selected in this design. "In Progress" indicates that the Lidar data is still being downloaded. "None" indicates no Lidar source is available. "Unknown" indicates that the Lidar source is undetermined.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `422` — Unprocessable Entity

---

[API](https://skmtc.net/aurorasolar/apis/sync-api.md) · [All operations](https://skmtc.net/aurorasolar/apis/sync-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aurorasolar/sync-api/revisions/5b41808d104d/schema)
