---
title: "Well lifecycle cohorts"
method: GET
path: "/v1/well-lifecycle/cohorts"
tags: ["Well Lifecycle"]
---

# Well lifecycle cohorts

`GET /v1/well-lifecycle/cohorts`

Returns cohort-level cycle-time summaries from persisted lifecycle summaries
for promoted states. Supported grouping dimensions are operator, county, and
permit quarter.

## Query parameters

- `state` 'NM' | 'WY' | 'ND' | 'AK', required
- `group_by` 'operator' | 'county' | 'quarter'

## Response `200`

Lifecycle cohort summaries

- object
  - `status` string
  - `data` WellLifecycleCohorts
    - `state` string
    - `group_by` 'operator' | 'county' | 'quarter'
    - `count` integer
    - `cohorts` WellLifecycleCohort[]
      - `key` string
      - `well_count` integer
      - `cycle_time_stats` object
        - `avg_permit_to_first_prod_days` number, nullable
        - `min_permit_to_first_prod_days` number, nullable
        - `max_permit_to_first_prod_days` number, nullable
        - `avg_permit_to_spud_days` number, nullable
        - `avg_spud_to_completion_days` number, nullable
        - `avg_completion_to_first_prod_days` number, nullable
        - `avg_permit_to_frac_days` number, nullable
        - `avg_completion_to_frac_days` number, nullable
        - `avg_frac_to_first_prod_days` number, nullable

## Other responses

- `400` — Invalid state or grouping parameter
- `401` — Unauthorized
- `403` — Enterprise plan required
- `404` — Lifecycle cohorts unavailable for this state
- `500` — Unexpected server error. Retry transient failures with bounded backoff and retain the request ID when contacting support.

---

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