Put V2 Type Curve Fits (Preview)
PUT/v2/projects/:projectId/type-curves/:id/fits
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
- 200
- 400
- 401
- 403
- 404
- 429
- 500
OK. The type curve's stored fits after the write, read back — identical to what a following GET returns.
Bad Request. There is something wrong with the request data. Nothing was written.
Unauthorized. Invalid or missing authentication.
Forbidden. Insufficient permissions to access the resource.
Not Found. The project or the type curve does not exist, or the type curve belongs to a different project. Those cases are deliberately indistinguishable.
Too Many Requests. The per-tenant request rate limit was exceeded.
Internal Server Error. Something went wrong on the server.