---
title: "Get CRM Lead Job"
method: GET
path: "/v1/create-crm-lead-jobs/{job_id}"
tags: ["CRM", "v1"]
---

# Get CRM Lead Job

`GET /v1/create-crm-lead-jobs/{job_id}`

## Request

- Base URL: `https://api.leadfeeder.com`
- URL: `https://api.leadfeeder.com/v1/create-crm-lead-jobs/{job_id}`
- Auth: one of:
  - API key in header `X-Api-Key`
  - OAuth 2
    - Authorization code: `https://api.leadfeeder.com/v1/oauth/authorize`
    - Token URL: `https://api.leadfeeder.com/v1/oauth/token` scopes: `crm_records:read`

Retrieve the status of a job created via `POST /v1/create-crm-lead-jobs`. While `status` is `running`, `result` is omitted. Once `status` becomes `completed`, `result` references the affected CRM record and connection. On `failed`, `errors` describes the failure. Jobs are retained for 3 days after creation.

Credit Note: Checking a job's status does not consume credits.

:::info
Requires the `crm_records:read` OAuth2 scope.
:::

## Path parameters

- `job_id` string, required

## Query parameters

- `account_id` string, required

## Response `200`

Success

- object
  - `data` CreateCRMLeadJobV1, required
    - `attributes` object, required
      - `completed_at` string, date-time, nullable, required: When the job finished (null until the job reaches `completed` or `failed`).
      - `configuration` object, required: Echoed request configuration.
        - `company_id` string: The Leadfeeder company ID.
        - `contact_id` string: The Leadfeeder contact ID.
        - `crm_owner_id` string: Optional owner for the created record: the Leadfeeder id (uuid) of a CRM user.
        - `custom_values` object: Optional CRM field values to set on the created record, keyed by the field's API name in the connected CRM (e.g. `Industry__c` in Salesforce).
      - `created_at` string, date-time, required: When the job was created.
      - `credits` object: Credit consumption details
        - `consumed` number: Credits consumed so far. Some job types are priced per record at a fractional rate, so this can be a decimal.
        - `estimated` number: Credits estimated for the job. Some job types are priced per record at a fractional rate, so this can be a decimal.
      - `errors` object[], required: Empty unless `status` is `failed`.
        - `code` string, required: Machine-readable error code
        - `title` string, required: Human-readable error description
      - `result` object: Outcome of a CRM job. Present only when `status` is `completed`.
        - `crm_connection` object: The resulting CRM connection, usable with `PATCH /v1/crm-connections/{id}`.
          - `id` string, required: The CRM connection ID.
          - `type` 'crm_connection', required
        - `crm_record` object: The CRM record the job created or acted on. Fetch it via the matching `GET /v1/crm-organizations/{id}`, `GET /v1/crm-leads/{id}` or `GET /v1/crm-contacts/{id}` endpoint.
          - `id` string, required: The Leadfeeder id (uuid) of the CRM record.
          - `type` 'crm_organization' | 'crm_lead' | 'crm_contact', required: The type of a CRM record.
      - `status` 'running' | 'completed' | 'failed', required: Current status of the job
    - `id` string, required: Unique job identifier
    - `type` 'create_crm_lead_job', required
  - `meta` object, required
    - `request_id` string, required: A unique identifier assigned to each API request for end-to-end traceability.

## Other responses

- `401`: Unauthorized. The request was rejected because the credentials are missing, invalid, expired, or have been revoked. The client must re-authenticate before retrying. Clients can differentiate via the `code` value of the first item in `errors`.
- `403`: Forbidden. The credentials are valid but the caller is not authorized to perform the request — typically because the user lacks the required permission, the OAuth scope is insufficient, the subscription plan does not include the required entitlement, the `account_id` does not belong to the authenticated user, or the target list is read-only and its members cannot be modified. Clients can differentiate via the `code` value of the first item in `errors`.
- `404`: Not found
- `429`: Too many requests. Either the per-second rate limit or the monthly quota configured for the API key / OAuth application has been exceeded. Clients can differentiate via the `code` value of the first item in `errors`.
- `500`: Internal server error
- `504`: Server timeout

## Changes

> 46 revisions in range; 1 not diffed.

- **2026-10-28** `0ce28f9eef77`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/leadfeeder/apis/leadfeeder-public-api/changes/v1/create-crm-lead-jobs/:job_id/get.md)

---

[API](https://skmtc.dev/leadfeeder/apis/leadfeeder-public-api.md) - [All operations](https://skmtc.dev/leadfeeder/apis/leadfeeder-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/leadfeeder/apis/leadfeeder-public-api/revisions/686d4e39eb05?raw)
