---
title: "Create an import job"
method: POST
path: "/v3/imports"
tags: ["Imports"]
---

# Create an import job

`POST /v3/imports`

Imports a geospatial file from a URL into a table in your data warehouse.

The job runs asynchronously — poll
`GET /v3/imports/{jobId}` with the returned
`jobId`.

By default CARTO guesses the schema of the file. To set it yourself, call
`POST /v3/imports/preview` first, then pass
`autoguessing: false` together with the `schema` you want.

Each account can run 5 import jobs concurrently.

## Request body

- ImportRequest
  - `connection` string, required — Name of the connection to import through.
  - `url` string, uri, required — Public URL of the file to import.
  - `destination` string, required — Fully qualified name of the table to create.
  - `overwrite` boolean — Replace the destination table if it already exists.
  - `autoguessing` boolean — Let CARTO detect the schema. Set to `false` to import with the `schema` you provide.
  - `schema` object — The schema to use when `autoguessing` is `false`. Get a starting point from `POST /v3/imports/preview`.
    - `columns` ImportColumn[]
      - `name` string, required
      - `type` string, required — A data type supported by the destination data warehouse.
      - `nullable` boolean
      - `width` integer
      - `precision` integer
      - `scale` integer
  - `dryRun` boolean — Validate the import without writing anything. Can't be combined with `overwrite`.
  - `ignoreErrors` boolean — Skip rows that fail to parse. Defaults to the value of `autoguessing`.
  - `maxErrors` integer — How many bad rows to tolerate. Defaults to 1000 when `autoguessing` is on, 0 otherwise.
  - `wrapDateLine` boolean — Wrap geometries that cross the antimeridian.
  - `preserveSourceCrs` boolean — Keep the source coordinate reference system instead of reprojecting to EPSG:4326.
  - `metadata` object — Arbitrary metadata stored with the job.

## Response `201`

The import job was created.

- object
  - `jobId` string, uuid
  - `status` 'pending' | 'running' | 'success' | 'failure' | 'cancelled' — `success`, `failure` and `cancelled` are final states.

## Other responses

- `400` — The request is malformed or a parameter failed validation.
- `401` — The token is missing, malformed or expired.
- `403` — The token doesn't grant access to this resource.
- `404` — The connection doesn't exist.
- `429` — You already have 5 import jobs running. Wait for one to finish.

---

[API](https://skmtc.net/gitbookio/apis/carto-api.md) · [All operations](https://skmtc.net/gitbookio/apis/carto-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gitbookio/carto-api/revisions/019f79ecdd6c/schema)
