---
title: "Ingest external tasks into Catalyst"
method: POST
path: "/tasks/ingest"
tags: ["tasks"]
---

# Ingest external tasks into Catalyst

`POST /tasks/ingest`

## Request

- Base URL: `https://catalyst.stratogenic.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://catalyst.stratogenic.ai/tasks/ingest`
- Auth: API key in header `X-API-Key`

Ingest one or more tasks into Catalyst.

• Per-tenant rate limited using Redis (global across all API replicas)
• Idempotent via X-Request-Id / X-Catalyst-Request-ID headers
• Tolerant of partial or low-quality input (flagged for review, not rejected)
• Deterministic normalization, deduplication, and compliance enforcement
• All changes are recorded in an append-only audit ledger

This endpoint is safe for retries and concurrent callers.

## Query parameters

- `debug` boolean

## Headers

- `X-User-Id` string, nullable
- `X-User-TZ` string, nullable
- `X-Source-App` string, nullable
- `X-Touched-By-Tool` string, nullable
- `X-Touched-By-User` string, nullable
- `X-Touched-By-Agent` string, nullable
- `X-External-User-Id` string, nullable
- `X-Run-Id` string, nullable

## Request body

- unknown

## Response `200`

Successful Response

- unknown

## Other responses

- `402`: Plan limit reached — ingestion quota exhausted for this billing period.
- `422`: Validation Error
- `429`: Rate limit exceeded. Retry after the interval in the Retry-After response header.

---

[API](https://skmtc.dev/stratogenic/apis/stratogenic-catalyst-api.md) · [All operations](https://skmtc.dev/stratogenic/apis/stratogenic-catalyst-api/llms.txt) · [OpenAPI document](https://skmtc.dev/stratogenic/apis/stratogenic-catalyst-api/revisions/ad906ad7a85d?raw)
