---
title: "Retrieve an import"
method: GET
path: "/library/imports/{importId}"
tags: ["Library"]
---

# Retrieve an import

`GET /library/imports/{importId}`

## Request

- Base URL: `https://elicit.com/api/v2`
- URL: `https://elicit.com/api/v2/library/imports/{importId}`
- Auth: HTTP bearer

Retrieves an import. `status` is `processing` or `completed`. `completed` does not mean that every file succeeded.

File `status` values: `pending`; `created`, with `sourceId`; `duplicate`, with `duplicateOf`; `failed`, with `error`. `error.code` values: `invalid-file`, do not retry; `processing-error` and `server-error`, a retry may succeed; `unknown`.

### Example

```bash
curl https://elicit.com/api/v2/library/imports/{importId} \
  -H "Authorization: Bearer elk_live_your_key_here"
```

## Path parameters

- `importId` string, uuid, required

## Response `200`

The import and its per-file results.

- LibraryImport
  - `id` string, uuid, required
  - `status` 'processing' | 'completed', required
  - `files` object[], required
    - `fileId` string, uuid, required
    - `filename` string, required
    - `status` 'pending' | 'created' | 'duplicate' | 'failed', required
    - `sourceId` string, uuid, nullable, required
    - `duplicateOf` string, uuid, nullable, required: The already-saved source this file matched.
    - `error` object, nullable, required: processing-error and server-error may succeed on retry.
      - `code` 'duplicate' | 'processing-error' | 'server-error' | 'invalid-file' | 'unknown', required
      - `message` string, required
  - `createdAt` string, required
  - `completedAt` string, nullable, required
  - `links` object, required
    - `self` string, required: Poll this URL until status is completed.

## Other responses

- `400`: A malformed id, or an unknown or invalid query parameter.
- `401`: Authentication failed. The API key is missing, invalid, revoked, or expired.
- `403`: API access is not available on your current plan. Upgrade to Pro or above to use the API.
- `404`: The import does not exist or is not visible to you.
- `429`: Rate limit exceeded. More than 100 requests per minute were received from your IP address; further requests are blocked for 5 minutes.
- `500`: An unexpected error occurred. Retry reads with backoff; before retrying a write, check whether it took effect. See Error Handling for retry guidance.

## Changes

- **2026-10-16** `22847bf7e65d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/elicitlabs/apis/elicit-labs-api/changes/library/imports/:importId/get.md)

---

[API](https://skmtc.dev/elicitlabs/apis/elicit-labs-api.md) - [All operations](https://skmtc.dev/elicitlabs/apis/elicit-labs-api/llms.txt) - [OpenAPI document](https://skmtc.dev/elicitlabs/apis/elicit-labs-api/revisions/cbbe29509d04?raw)
