---
title: "Submit a job and get a run_id immediately"
method: POST
path: "/v1/runs"
---

# Submit a job and get a run_id immediately

`POST /v1/runs`

## Request

- Base URL: `https://api.mireye.com`
- URL: `https://api.mireye.com/v1/runs`
- Auth: none declared
- TypeScript: <https://skmtc.dev/mireye/apis/mireye-earth/docs/v1/runs/post.ts> (a function with typed inputs; its response is checked against the schema)

The async form of the long-running endpoints. Submit returns 202 with a run_id; poll GET /v1/runs/{run_id} or stream GET /v1/runs/{run_id}/events for progress. Kinds: fetch_batch (the /v1/fetch/batch request shape, same validation, same limits).

## Request body

- RunSubmitRequest
  - `kind` 'fetch_batch', required
  - `request` BatchFetchRequest, required: N locations, one field selection. The field selection is deliberately batch-wide, not per-location: the batch exists for "the same screen over a list of candidate properties", and per-location field lists would make the response shape unpredictable for exactly the clients (agents, spreadsheets) the batch serves.
    - `fields` string[], nullable
    - `locations` BatchFetchLocation[], required
      - `address` string, nullable
      - `lat` number, nullable
      - `lng` number, nullable
    - `preset` 'terrain' | 'flood_risk' | 'wildfire_underwrite' | 'land_cover' | 'site_selection' | 'building_lookup' | 'points_of_interest' | 'utilities' | 'boundaries' | 'solar_siting' | 'wind_siting' | 'storage_siting' | 'data_center_siting' | 'grid_interconnect' | 'natural_hazard', nullable

## Response `202`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/mireye/apis/mireye-earth.md) - [All operations](https://skmtc.dev/mireye/apis/mireye-earth/llms.txt) - [OpenAPI document](https://skmtc.dev/mireye/apis/mireye-earth/revisions/d8410ba83654?raw)
