> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.isoview.io/llms.txt.
> For full documentation content, see https://docs.isoview.io/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.isoview.io/_mcp/server.

# List Cells

GET /v1/cells/{iso}/list

Retrieve a list of H3 cells within a specific ISO that have forecasts.

Cells are determined by extracting cell IDs from the latest consolidated
forecast for the given metric. Geometries are clipped to the ISO boundary
so border cells only show the portion inside the ISO.

**Access:** Requires `advanced` subscription level.

Reference: https://docs.isoview.io/api-reference/isoview-api/cells/list-cells-cells-iso-list-get

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: openapi
  version: 1.0.0
paths:
  /cells/{iso}/list:
    get:
      operationId: list-cells-cells-iso-list-get
      summary: List Cells
      description: >-
        Retrieve a list of H3 cells within a specific ISO that have forecasts.


        Cells are determined by extracting cell IDs from the latest consolidated

        forecast for the given metric. Geometries are clipped to the ISO
        boundary

        so border cells only show the portion inside the ISO.


        **Access:** Requires `advanced` subscription level.
      tags:
        - subpackage_cells
      parameters:
        - name: iso
          in: path
          description: ISO identifier.
          required: true
          schema:
            $ref: '#/components/schemas/CellsIsoListGetParametersIso'
        - name: metric
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/CellsIsoListGetParametersMetric'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/H3CellResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
servers:
  - url: /v1
components:
  schemas:
    CellsIsoListGetParametersIso:
      type: string
      enum:
        - pjm
        - miso
        - spp
        - ercot
        - caiso
        - nyiso
        - isone
      description: ISO identifier.
      title: CellsIsoListGetParametersIso
    CellsIsoListGetParametersMetric:
      type: string
      enum:
        - demand
        - wind
        - solar
      default: demand
      title: CellsIsoListGetParametersMetric
    H3CellResponse:
      type: object
      properties:
        id:
          type: string
          description: H3 cell index.
        resolution:
          type: integer
          description: H3 resolution level (2–5).
        geojson:
          type:
            - object
            - 'null'
          additionalProperties:
            description: Any type
          description: GeoJSON geometry of the cell, clipped to the ISO boundary.
      required:
        - id
        - resolution
      description: Metadata and clipped geometry for an H3 hexagonal cell.
      title: H3CellResponse
    ValidationErrorLocItems:
      oneOf:
        - type: string
        - type: integer
      title: ValidationErrorLocItems
    ValidationErrorCtx:
      type: object
      properties: {}
      title: ValidationErrorCtx
    ValidationError:
      type: object
      properties:
        loc:
          type: array
          items:
            $ref: '#/components/schemas/ValidationErrorLocItems'
        msg:
          type: string
        type:
          type: string
        input:
          description: Any type
        ctx:
          $ref: '#/components/schemas/ValidationErrorCtx'
      required:
        - loc
        - msg
        - type
      title: ValidationError
    HTTPValidationError:
      type: object
      properties:
        detail:
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
      title: HTTPValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        API key for authentication. Can also be provided in the api_key query
        parameter.

```

## SDK Code Examples

```python
import requests

url = "https://v1/cells/pjm/list"

response = requests.get(url)

print(response.json())
```

```javascript
const url = 'https://v1/cells/pjm/list';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://v1/cells/pjm/list"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://v1/cells/pjm/list")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://v1/cells/pjm/list")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://v1/cells/pjm/list');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://v1/cells/pjm/list");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://v1/cells/pjm/list")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```