External API, Snowflake and Databricks updates in v48.0
Released 2026-11-06. This release completes the Type Curve 2.0 move for the External API and the data shares. It also adds embedded lookup table (ELT) writes to the API and tightens several API behaviors.
External API
Type Curve 2.0
- Type Curve V1 endpoints are removed. Every
/v1/projects/{projectId}/type-curvesand/lookup-tablesroute now returns410 Gone. The message names the matching/v2path. See the migration guide. - The V2 type curve endpoints are generally available for all customers and are no longer labelled pre-release.
- Fits:
<ul> <li><code>regressionType</code> is no longer part of V2 fits.</li> <li>A <code>linear</code> segment now takes a required <code>slopeValue</code>, in rate units per day. <code>slope</code> is only its sign, and writes ignore it.</li> <li><code>PUT /{id}/fits</code> deletes any phase you leave out of the body.</li> </ul> - Normalization:
PUTreplaces the whole configuration, so all three phases are required. - Query parameters on the V2 type curve endpoints:
<ul> <li><code>take</code> defaults to 25. The maximum is 2500.</li> <li>To filter on several values of <code>id</code>, <code>name</code> or <code>well</code>, repeat the key (<code>?id=a&id=b</code>, up to 100). A comma-separated list is not split.</li> </ul> - Scenarios: the
forecastcolumn of a scenario lookup-table assignment accepts a Type Curve V2 lookup table (/v2/projects/{projectId}/type-curves/lookup-tables) when your company's economics runs use Type Curve V2. A table of the other version fails the record.
Embedded lookup tables
- You can now create (
POST), replace by name (PUT) and delete (DELETE) embedded lookup tables, at both company and project level. Writes accept up to 50 tables per request.<ul> <li>A name must be unique across all types.</li> <li>A replace changes all rows, rules and options, and keeps <code>createdBy</code>, <code>copiedFrom</code> and <code>tags</code>. It cannot change the type.</li> <li>Deleting a table also removes its links from econ models.</li> </ul> - Risking and operations tables are supported for tenants that have those features enabled. Other tenants get an "invalid type" error for them.
- Reads return
lookup_byand the custom stream key, and a table read from the API can be written back unchanged. - The read limit is raised from 50 to 200 records per request.
Exports
POST /v1/exportsis set to be deprecated. It returnsDeprecationandSunsetheaders. The sunset date is 2027-01-04. Migrate to/v2/exports, which lets you start an export job and poll its status.- Export files are kept for 7 days. An expired v2 forecast export now reports
failedwith anerrormessage instead of stayingrunning.
Scenarios, combos and qualifiers
- Combos now return
updatedAt. You can filter and sort on it, with the operatorslt,le,gtandge. With no operator, it matches the exact date. - Forecast create returns
idnext toforecastId. - You can rename the
Defaultqualifier. Combo uniqueness checks follow the new name. You still can't create or rename a qualifier toDefault.
Pagination
Pagination links on v2 requests now use the public API host instead of an internal one.
Snowflake and Databricks
New Type Curve 2.0 shared data, in both platforms:
TYPE_CURVE_FIT_SEGMENTS_V2_SVTYPE_CURVE_NORMALIZATIONS_V2_SVTYPE_CURVE_NORMALIZATION_SEGMENTS_V2_SVTYPE_CURVE_NORMALIZATION_TARGETS_V2_SVTYPE_CURVE_NORMALIZATION_WELLS_V2_SV
Each view keeps the latest row per key and adds the type curve and project names. Beyond that:
- The fit segments view adds fit type and base phase.
- The normalization segments view adds the x and y axis.
- The normalization wells view adds
CHOSEN_IDandDATASOURCE.
The earlier Type Curve 2.0 views (TYPE_CURVES_V2, the V2 wells and the V2 fits) are unchanged.