---
title: "Ingest Bid Catalog"
method: POST
path: "/bid-runs/catalog/ingest"
tags: ["operator-runs"]
---

# Ingest Bid Catalog

`POST /bid-runs/catalog/ingest`

Dispatch an aspire_catalog_ingest run for an uploaded export (org managers).

Pilot snapshots the current catalog to S3 BEFORE writing, so a mistaken
replace is revertible from the history list. Poll /catalog/ingest/{request_id}.

## Request body

- CatalogIngestRequest — Body for dispatching an aspire_catalog_ingest run from the uploaded export.
  - `catalog_xlsx_s3_key` string, required
  - `branch_prefix` string
  - `replace` boolean
  - `dry_run` boolean

## Response `200`

Successful Response

- unknown

## Other responses

- `404` — Not found
- `422` — Validation Error

---

[API](https://skmtc.dev/noso/apis/crucible-backend-api.md) · [All operations](https://skmtc.dev/noso/apis/crucible-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/noso/apis/crucible-backend-api/revisions/d1993647e543?raw)
