---
title: "Cancel internal developer ingestion"
method: POST
path: "/internal/retrieval/ingestions/{job_id}/cancel"
tags: ["Internal retrieval"]
---

# Cancel internal developer ingestion

`POST /internal/retrieval/ingestions/{job_id}/cancel`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/internal/retrieval/ingestions/{job_id}/cancel`
- Auth: API key in header `x-api-key`

Requests cancellation of an ingestion job by `job_id` (1 to 128 characters, owned by the caller). Admin-plan only. The job moves to `cancelling`, then `cancelled`; already finished jobs are left unchanged. Returns the job state, progress, usage and warnings plus ingestion counters. An incomplete generation is never promoted.

## Path parameters

- `job_id` string, required

## Headers

- `x-api-key` string, required

## Response `200`

Updated ingestion status

- DeveloperretrievalInternalIngestionStatusResponseDoc
  - `code` integer
  - `data` DeveloperretrievalInternalIngestionStatusDoc
    - `ingestion` DeveloperretrievalIngestionProgress
      - `items_deleted` integer
      - `items_failed` integer
      - `items_indexed` integer
      - `items_seen` integer
      - `sources_completed` integer
      - `sources_total` integer
    - `job` DeveloperretrievalInternalJobStatusDoc
      - `cancel_requested` boolean
      - `completion_reason` 'frontier_exhausted' | 'completed' | 'page_limit' | 'round_limit' | 'deadline' | 'budget' | 'cancelled' | 'upstream_failure' | 'internal_failure'
      - `created_at` string
      - `deadline_at` string
      - `error` DeveloperretrievalInternalFailureDoc
        - `message` string
        - `reason` 'invalid_url' | 'unsupported_content_type' | 'blocked' | 'not_found' | 'rate_limited' | 'timeout' | 'upstream_error' | 'internal_error' | 'out_of_scope' | 'robots_disallowed' | 'duplicate' | 'limit_reached' | 'unsupported_filter' | 'unknown_source' | 'idempotency_conflict' | 'invalid_cursor' | 'result_expired' | 'full_text_unavailable' | 'budget_exhausted'
        - `retry_after_seconds` integer
        - `retryable` boolean
      - `expires_at` string
      - `job_id` string
      - `kind` 'crawl' | 'research' | 'ingestion'
      - `partial` boolean
      - `progress` RetrievaltypesJobProgress
        - `admitted` integer
        - `discovered` integer
        - `discovery_excluded` integer
        - `failed` integer
        - `in_flight` integer
        - `queued` integer
        - `skipped` integer
        - `succeeded` integer
      - `research` RetrievaltypesResearchProgress
        - `max_rounds` integer
        - `questions_answered` integer
        - `questions_total` integer
        - `round` integer
        - `searches_completed` integer
        - `sources_read` integer
      - `state` 'queued' | 'running' | 'cancelling' | 'succeeded' | 'failed' | 'cancelled'
      - `updated_at` string
      - `usage` RetrievaltypesUsage
        - `browser_renders` integer
        - `credits_charged` integer
        - `credits_released` integer
        - `credits_reserved` integer
        - `fetch_attempts` integer
        - `fetched_urls` integer
        - `input_tokens` integer
        - `output_tokens` integer
        - `search_requests` integer
        - `settlement_pending` boolean
      - `warnings` DeveloperretrievalDeveloperWarningDoc[]
        - `code` 'source_failed' | 'source_not_indexed' | 'discovery_truncated' | 'ranking_window_limit' | 'imprecise_date_excluded' | 'content_unavailable' | 'cached_source_stale'
        - `message` string
        - `source_id` string
  - `msg` string

## Other responses

- `400`: Invalid job ID
- `401`: Authentication required
- `403`: Admin access required
- `404`: Unknown or inaccessible ingestion job
- `410`: Ingestion job retention expired
- `500`: Internal persistence error
- `503`: Ingestion runtime unavailable

---

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