---
title: "Start file import"
method: POST
path: "/files/import"
tags: ["Files"]
---

# Start file import

`POST /files/import`

## Request

- Base URL: `https://api.livereacting.com/v1/external`
- URL: `https://api.livereacting.com/v1/external/files/import`
- Auth: HTTP bearer

Start importing a file from a URL. Supports:
- Google Drive links
- Dropbox links
- YouTube video URLs
- A direct `http` or `https` link to a video, audio or image file on any public host

The import runs asynchronously. Use the status endpoint to track progress.
File name is derived from the source and cannot be customized.

A direct link must return the media file itself. Its content type decides whether it is a video,
audio or image file; `application/octet-stream` falls back to the file extension. The file must fit
your plan's max file size, and a video counts against your storage quota like a Studio upload.
A URL that resolves to a private or internal address is refused with `URL_NOT_ALLOWED`, also when a
redirect leads there. If the address turns private while the file downloads, the import ends
with status `error`. A host that does not resolve is refused with `URL_NOT_RESOLVED`.
A refused direct link answers `400 IMPORT_FAILED` with the reason; a Google Drive, Dropbox or
YouTube failure keeps its `500 IMPORT_FAILED`.

```bash
curl -X POST https://api.livereacting.com/v1/external/files/import \
  -H "Authorization: Bearer $LR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://cdn.example.com/videos/intro.mp4", "type": "video"}'
```

## Request body

- ImportFileRequest
  - `url` string, uri, required: URL to import from. Supported sources: - Google Drive links - YouTube video URLs (audio/video extraction) - Dropbox links - A direct `http` or `https` link to a video, audio or image file on any public host A direct link must return the file itself, not a web page. URLs that point to a private or internal address are refused with `URL_NOT_ALLOWED`.
  - `type` 'video' | 'image' | 'audio', required: Type of file being imported
  - `folderId` string, nullable: Optional folder ID to import file into. The folder must belong to the authenticated user and match the import type (e.g., video folder for video import). If not provided or null, file is imported to root level.

## Response `201`

Import started successfully

- object
  - `fileId` string: ID of the file being imported
  - `status` string

## Other responses

- `400`: Validation error or storage limit exceeded
- `401`: Authentication failed
- `404`: Destination folder not found
- `409`: Transfer already in progress
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/livereacting/apis/livereacting-api.md) · [All operations](https://skmtc.dev/livereacting/apis/livereacting-api/llms.txt) · [OpenAPI document](https://skmtc.dev/livereacting/apis/livereacting-api/revisions/17a9f1677fbf?raw)
