---
title: "Create a data extraction job"
method: POST
path: "/v1/fetcher"
tags: ["Fetcher"]
---

# Create a data extraction job

`POST /v1/fetcher`

Creates and queues a data extraction job, or returns the existing job for an idempotent duplicate request.

## Request body

- FetcherRequest
  - `dataRequest` DataRequest, required
    - `filters` object — Optional filter conditions grouped by data source, table, and field.
    - `mappedFields` object, required — Fields to extract, grouped by data source and table.
  - `metadata` object, required — Caller-defined metadata stored with the job; source identifies the owning product.
    - `source` string, required — Owning product used for notification routing and connection ownership validation.

## Response `200`

Duplicate request; the existing job is returned.

- FetcherResponse
  - `createdAt` string, date-time, required — UTC timestamp when the job was created.
  - `jobId` string, required — Unique identifier of the extraction job.
  - `message` string, required — Outcome of the create request.
  - `status` string, required — Current processing status of the job.

## Other responses

- `202` — Accepted
- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `409` — Conflict
- `413` — Request Entity Too Large
- `422` — Unprocessable Entity
- `500` — Internal Server Error

---

[API](https://skmtc.net/lerian/apis/identity-plugin.md) · [All operations](https://skmtc.net/lerian/apis/identity-plugin/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lerian/identity-plugin/versions/25daba385532/schema)
