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

# Import Existing Liens from the Public Record

> Aug 14, 2026

You can now bring liens you already hold on the public record into Baselayer, so their filing history lives alongside the filings you originate. Import one at a time, or upload a CSV to import in bulk.

**Import a single filing.** `POST /lien_submissions/import` claims one public record filing for your organization and returns the imported filing (`201`, or `200` if you had already imported it). Imported filings are read-only mirrors of the public record.

**Import in bulk.** `POST /lien_submissions/import/batches` accepts a CSV of liens to import (one lien per row) and always processes asynchronously, returning `202` with a batch id. Each row is a `state` and a `filing_number` (both required), with an optional `filing_name`. The file as a whole is validated on upload: type, encoding, size, headers, and row count; a row the importer cannot resolve is reported per row rather than failing the batch.

**Track and collect results.** Poll `GET /lien_submissions/import/batches/{batch_id}` for the batch's state and per-outcome counts (`imported`, `already imported`, `not found`, `invalid`), list your batches with `GET /lien_submissions/import/batches`, and download the per-row results as JSONL from `GET /lien_submissions/import/batches/{batch_id}/download`. To find the filings a batch produced, `GET /lien_submissions` now accepts `origin` and `import_batch_id` filters.

**Get notified when a batch finishes.** Two new webhook events report the terminal outcome of a bulk import, each carrying the batch's final counts: `LienFilingImportBatch.completed` and `LienFilingImportBatch.failed`. A bulk import reports counts once at the end rather than emitting a per-row event.

**Notes.** Only consensual UCC filings can be imported; tax, judicial, and statutory liens are rejected. Imports run on production applications only: a sandbox application cannot claim filings from the public record.

No integration changes required - every endpoint, filter, and webhook event is additive.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.