---
title: "Import a network case"
method: POST
path: "/api/v1/solver/models"
tags: ["Network Solver"]
---

# Import a network case

`POST /api/v1/solver/models`

## Request

- Base URL: `https://askthegrid.com`
- URL: `https://askthegrid.com/api/v1/solver/models`
- Auth: HTTP bearer

Upload PSS/E RAW or RAWX text, or an explicit per-unit case. UTF-8 content is limited to 20 MiB. Every import creates an immutable model ID and source/model SHA-256 hashes. Read assumptions and unsupported features before solving. No asset profile is inferred to be an electrical model.

## Request body

- union
  - object
    - `name` string, required
    - `format` 'raw' | 'rawx', required
    - `content` string, required
  - object
    - `name` string, required
    - `format` 'per-unit', required
    - `case` object, required
      - `baseMva` number, required
      - `buses` object[], required
        - `id` integer, required
        - `name` string, required
        - `baseKv` number
        - `kind` 'swing' | 'pv' | 'pq', required
        - `vm` number, required
        - `vaDeg` number, required
        - `vSet` number, required
        - `generationMw` number, required
        - `generationMvar` number, required
        - `qMaxMvar` number, required
        - `qMinMvar` number, required
        - `loadMw` number, required
        - `loadMvar` number, required
        - `shuntMw` number, required
        - `shuntMvar` number, required
      - `branches` object[], required
        - `id` string, required
        - `from` integer, required
        - `to` integer, required
        - `rPu` number, required
        - `xPu` number, required
        - `bPu` number, required
        - `tap` number, required
        - `shiftDeg` number, required
        - `ratingMva` number, required
        - `gFromPu` number
        - `bFromPu` number
        - `gToPu` number
        - `bToPu` number
      - `unsupported` string[]
      - `assumptions` string[]
      - `acAssumptions` string[]

## Response `201`

Success

- object
  - `id` string, uuid, required
  - `name` string, required
  - `version` 1, required
  - `sourceSha256` string, required
  - `modelSha256` string, required
  - `createdAt` string, required
  - `format` 'raw' | 'rawx' | 'per-unit', required
  - `buses` integer, required
  - `branches` integer, required
  - `baseMva` number, required
  - `assumptions` string[], required
  - `unsupported` string[], required

## Other responses

- `400`: The request did not match the contract.
- `401`: Missing or invalid credentials.
- `429`: Rate limit exceeded. Wait `Retry-After` seconds; `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset` report the budget. Signed-in sessions and API keys have larger budgets than anonymous callers.

---

[API](https://skmtc.dev/askthegrid/apis/ask-the-grid-api.md) · [All operations](https://skmtc.dev/askthegrid/apis/ask-the-grid-api/llms.txt) · [OpenAPI document](https://skmtc.dev/askthegrid/apis/ask-the-grid-api/revisions/9cd80115e395?raw)
