---
title: "Start with File"
method: POST
path: "/etl/templates/{templateId}/startWithFile"
tags: ["Import API"]
---

# Start with File

`POST /etl/templates/{templateId}/startWithFile`

## Request

- Base URL: `https://us1.vena.io/api/public/v1`
- URL: `https://us1.vena.io/api/public/v1/etl/templates/{templateId}/startWithFile`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/venasolutions/apis/vena-api/docs/etl/templates/:templateId/startWithFile/post.ts> (a function with typed inputs; its response is checked against the schema)

Create an ETL job, upload CSV data, and start the job in a single step

## Path parameters

- `templateId` string, required

## Request body `multipart/form-data`

- FilePayload
  - `file` string, binary, required: File containing the data to be uploaded
  - `metadata` string, required: Metadata with details of the file. *Note: All fields in the JSON object below are required* ### Sample Input: ``` { "input": { "partName":"file", "fileFormat":"CSV", "fileEncoding":"UTF-8", "fileName":"data.csv" } } ```

## Response `200`

Successfully started job, data has been received by Vena

- JobResponse
  - `id` string
  - `name` string
  - `status` 'EDITING' | 'NOT_STARTED' | 'SUBMITTED' | 'RUNNING' | 'COMPLETED' | 'ERROR' | 'CANCELLED' | 'WAITING' | 'QUEUED' | 'EXPIRED'
  - `modelId` string
  - `modelName` string
  - `createdDate` integer
  - `updatedDate` integer
  - `userName` string

## Other responses

- `401`: Invalid authentication credentials
- `403`: Authenticated user does not have access to the specified model
- `406`: Invalid Accept header

## Changes

- **2026-11-03** `587671c855dd`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/venasolutions/apis/vena-api/changes/etl/templates/:templateId/startWithFile/post.md)

---

[API](https://skmtc.dev/venasolutions/apis/vena-api.md) - [All operations](https://skmtc.dev/venasolutions/apis/vena-api/llms.txt) - [OpenAPI document](https://skmtc.dev/venasolutions/apis/vena-api/revisions/587671c855dd?raw)
