---
title: "Create Import"
method: POST
path: "/data-sources/{source_id}/imports"
tags: ["imports"]
---

# Create Import

`POST /data-sources/{source_id}/imports`

## Request

- Base URL: `https://api.os3robotics.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.os3robotics.com/data-sources/{source_id}/imports`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Imports the objects under `prefix` of the source into the next version of `dataset_id`,
a dataset of the source's workspace. OS3 copies them and seals the version; nothing is
converted. Follow it at GET /data-imports/{id}.

## Path parameters

- `source_id` string, uuid, required

## Request body

- ImportIn
  - `dataset_id` string, uuid, required
  - `prefix` string
  - `provenance` Provenance: Who recorded a robot dataset version: the robot as traces name it (os3.trace_identity.v1 `robot_ref`), the operator, the customer id the recording carries and the recorder's own dataset id on the robot (`source_ref`); and the robot's calibration identity it was recorded with (the sha256 of its follower and camera calibration files), which a model version trained on it records.
    - `robot_ref` string, required
    - `operator_id` string, required
    - `customer_id` string, nullable
    - `source_ref` string, nullable
    - `calibration_sha256` string, nullable

## Response `201`

Successful Response

- Import: An import: `listing` (queued), `copying` (`copied_objects` of `objects`), `sealed`, or `failed` (`error`) and `cancelled`, which can be resumed. `skipped`: the objects under the prefix that are not dataset files, never imported.
  - `id` string, uuid, required
  - `tenant_id` string, uuid, required
  - `source_id` string, uuid, required
  - `workspace_id` string, uuid, required
  - `dataset_id` string, uuid, required
  - `version` integer, required
  - `dataset_version_id` string, uuid, required
  - `prefix` string, required
  - `state` string, required
  - `objects` integer, nullable, required
  - `bytes` integer, nullable, required
  - `copied_objects` integer, required
  - `copied_bytes` integer, required
  - `skipped` object, nullable, required
  - `error` string, nullable, required
  - `created_by` string, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `finished_at` string, date-time, nullable, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/os3robotics/apis/os3-api.md) - [All operations](https://skmtc.dev/os3robotics/apis/os3-api/llms.txt) - [OpenAPI document](https://skmtc.dev/os3robotics/apis/os3-api/revisions/af32cd4f14bb?raw)
