---
title: "Submit Job"
method: POST
path: "/email_enrichment/jobs"
tags: ["email_enrichment"]
---

# Submit Job

`POST /email_enrichment/jobs`

Submit a bulk email enrichment job.

Accepts exactly one of `person_linkedin_urls` or `person_urns`.
Returns 202 with the created job_id and a list of any people that
were dropped at submit time (with reasons). Returns 422 when no
submitted people are eligible for enrichment, and 429 when the
request requires more enrichment credits than remain in your monthly
quota.

## Request body

- JobRequest — Submit a bulk email enrichment job. Exactly one of `person_linkedin_urls` or `person_urns` must be set. LinkedIn URLs and URNs are peer alternatives — both resolve to the same internal person_id.
  - `person_linkedin_urls` string[], nullable
  - `person_urns` string[], nullable

## Response `202`

Successful Response

- JobSubmitResponse
  - `job_id` string, uuid, required
  - `status` 'PENDING' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED', required
  - `accepted_count` integer, required
  - `dropped` DroppedPerson[]
    - `submitted_identifier` string, required
    - `reason` 'NOT_FOUND' | 'INVALID_URL' | 'ALREADY_HAS_EMAIL' | 'RECENTLY_ATTEMPTED', required
  - `monthly_remaining` integer, required
  - `created_at` string, required

## Other responses

- `422` — None of the submitted people are eligible for enrichment. See `dropped` for the reason each was excluded.
- `429` — The request requires more enrichment credits than remain in your monthly quota. Submit fewer people or wait until your quota resets.

---

[API](https://skmtc.net/harmonic/apis/harmonic-ai-public-api.md) · [All operations](https://skmtc.net/harmonic/apis/harmonic-ai-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/harmonic/harmonic-ai-public-api/revisions/fbef1ba78f96/schema)
