---
title: "Re-score an existing plan (temporary)"
method: POST
path: "/clone/temporary"
---

# Re-score an existing plan (temporary)

`POST /clone/temporary`

Re-score an existing district plan with results that will automatically disappear
within a week. Same format as the regular clone endpoint.

## Request body

- CloneRequest
  - `id` string, required — Unique identifier of the existing plan to re-score
  - `description` string — Short description of the plan (optional, will override original if provided)
  - `incumbents` string[] — Ordered list of incumbency scenario strings for each district
  - `vote_swings` number[] — Ordered list of vote swings to model for each district
  - `model_version` string — Predictive model version. If omitted, the most recent one is used.
  - `library_metadata` LibraryMetadata — Additional metadata about the plan, particularly for library/historical plans. The following properties are displayed specially in the plan UI, but other properties are also allowed.
    - `authoritative_link` string, uri — URL to the authoritative source for this plan (e.g., state legislature website)
    - `predecessor_link` string, uri — URL to the preceding enacted plan that this plan replaces or succeeds
    - `shapefile_file` string, uri — URL to download the plan as a shapefile
    - `blockassign_file` string, uri — URL to download the block assignment file for this plan
    - `notes` string — Explanatory notes about the plan, its history, or other relevant context

## Response `200`

Temporary clone created and re-scoring started successfully

- UploadResponse
  - `index_url` string, uri, required — Machine-readable JSON representation of the plan being scored. The response follows the structure defined in the PlanIndex schema.
  - `plan_url` string, uri, required — Human-readable web page with graphs and maps for the plan

## Other responses

- `400` — Bad request - invalid plan ID or parameters
- `401` — Authentication required
- `404` — Plan not found

## Changes

- **2026-01-07** `44e237dbb2c6` — 1 info
  - added the new optional request property `vote_swings`
- **2025-12-03** `b70a9c260a66` — 5 info
  - added the new optional request property `library_metadata/authoritative_link`
  - added the new optional request property `library_metadata/blockassign_file`
  - added the new optional request property `library_metadata/notes`
  - added the new optional request property `library_metadata/predecessor_link`
  - …1 more
- **2025-12-02** `583cb8a61e06` — 1 info
  - endpoint added
- **2025-11-13** `baf6158b0ed2` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/planscore/apis/planscore-api/changes/clone/temporary/post.md)

---

[API](https://skmtc.dev/planscore/apis/planscore-api.md) · [All operations](https://skmtc.dev/planscore/apis/planscore-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/planscore/planscore-api/revisions/124d888b2d0d/schema)
