> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paradime.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Lineage Diff [deprecated]

> Deprecated Lineage Diff API reference using repository_name and commit SHAs. Migrate to the current bolt_run_id-based Lineage Diff module of paradime-io.

<Info>
  **Prerequisites:**

  * This feature is available with the [**Paradime Bolt plan**](https://www.paradime.io/pricing)**.**
  * Your API keys ***must*** have either [Bolt Schedules Admin or Bolt Schedules Metadata Viewer](/developers/generate-api-keys-legacy) capabilities.
</Info>

<Warning>
  This page documents a **deprecated** version of the Lineage Diff API. The `repository_name`, `base_commit_sha`, and `head_commit_sha` parameters shown below have been removed from the current SDK, which now uses a `bolt_run_id` parameter instead. See the current [Lineage Diff](/developers/python-sdk/modules/lineage-diff) page for the up-to-date API.
</Warning>

The Lineage Diff module allows you to easily interact with [Paradime Lineage Diff](/products/bolt/ci-cd/lineage-diff/index) feature to trigger, generate and return column level lineage reports.

## Trigger Lineage Diff report and wait until report is returned

Triggers a lineage diff report for the specified parameters and wait until generation is completed.

<ParamField path="user_email" type="str" required>
  The email of the user triggering the report (pull request author).
</ParamField>

<ParamField path="pull_request_number" type="int" required>
  The number of the pull request.
</ParamField>

<ParamField path="repository_name" type="str" required>
  The full name of the repository. E.g. "paradime-io/jaffle-shop".
</ParamField>

<ParamField path="base_commit_sha" type="str" required>
  The SHA of the base commit.
</ParamField>

<ParamField path="head_commit_sha" type="str" required>
  The SHA of the head commit.
</ParamField>

<ParamField path="changed_file_paths" type="List[str]" required>
  A list of file paths that have changed in the pull request.
</ParamField>

<ResponseField name="Returns" type="Report">
  The lineage diff report.
</ResponseField>

```python theme={"system"}
# First party modules
from paradime import Paradime

# Create a Paradime client with your API credentials
paradime = Paradime( api_endpoint="API_ENDPOINT", api_key="API_KEY", api_secret="API_SECRET")

# Replace with all the arguments to compare the git branches and generate the lineage diff report
BASE_COMMIT_SHA = "476a32a3d6dbba0bf1fcf5fac9a7b4225a752e8a"
HEAD_COMMIT_SHA = "f6465321d1a18d60b633e68aa369b4c4e6454f9d"
CHANGED_FILES = ["dbt/models/marts/core/order_items.sql", "dbt/models/marts/core/new_model.sql"]
PULL_REQUEST_NUMBER = 24
REPO_NAME = "paradime-io/jaffle-shop"
USER_EMAIL = "john@acme.io"

# Trigger lineage diff report and wait until completed
report = paradime.lineage_diff.trigger_report_and_wait(
    base_commit_sha=BASE_COMMIT_SHA,
    head_commit_sha=HEAD_COMMIT_SHA,
    changed_file_paths=CHANGED_FILES,
    pull_request_number=PULL_REQUEST_NUMBER,
    repository_name=REPO_NAME,
    user_email=USER_EMAIL
)
```

## Report object details

The `report` object provides several options that can be selected with the following attributes:

* `message`: A string containing details of the report status.
* `status`: Indicates the status of the operation or request.
* `url`: A string representing a URL to the Bolt schedule compiling the two git branches.
* `uuid`: A unique identifier for the report.
* `result_json`: Contains the result in JSON format.
* `result_markdown`: Provides the result in Markdown format.


## Related topics

- [Install and authenticate the Paradime Python SDK](/developers/python-sdk/getting-started.md)
- [Lineage Diff](/developers/python-sdk/modules/lineage-diff.md)
- [Column-Level Lineage Diff](/products/bolt/ci-cd/lineage-diff/index.md)
- [Column-Level Lineage Diff on BitBucket](/products/bolt/ci-cd/lineage-diff/bitbucket.md)
- [Column-Level Lineage Diff on GitLab](/products/bolt/ci-cd/lineage-diff/gitlab.md)
