Skip to main content

Put V2 Type Curve Fits (Preview)

PUT 

/v2/projects/:projectId/type-curves/:id/fits

Available from 2026-11-07

This endpoint is documented ahead of the Type Curve 2.0 switch-over. It does not respond until 2026-11-07, when Type Curve V1 stops responding.

Replaces the type curve's fits with the body. Phases in the body are created or replaced, and any stored phase absent from the body is deleted. To change one phase and keep the others, send the others unchanged — a GET body is a valid payload. Within a phase the write is also a replacement: a phase switched from rate to ratio does not keep its old series.

The body is the GET response shape, so a GET body is a valid payload verbatim — updatedAt is accepted and ignored. Segments are validated against the shared forecast-segment rules, including segment-to-segment continuity, and the response returns them in full form read back from storage, so the derived fields a payload did not carry (qEnd, diEffSec, slope, and the switch fields on arps_modified) come back computed.

Unknown fields are rejected with a 400 naming them rather than ignored.

Validation is all-or-nothing: a failure anywhere in the body is one 400 and nothing is written. There is no partially applied write and no multi-status envelope, because the body is an object keyed by phase rather than a list of records.

Request​

Responses​

OK. The type curve's stored fits after the write, read back — identical to what a following GET returns.