> ## Documentation Index
> Fetch the complete documentation index at: https://vida.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create multiple tasks via CSV upload

> Upload up to 10,000 Tasks. Standard Task headers are case-insensitive; custom meta paths retain their casing. Recognized columns are type, target, context, taskContext, greeting, waitToGreet, accountId, scheduledFor, message, externalTaskId, goal.description, goal.completionCriteria, retryPolicy.delaysSeconds, retryPolicy.retryOn, and retryPolicy.responseTimeoutSeconds. Arbitrary nested meta.<path> columns are also accepted. For call, text and email Tasks, meta.contact fields populate missing structured Contact fields in the Task organization at creation, including meta.contact.name, meta.contact.email, meta.contact.address.state and meta.contact.customFields.vendorLeadCode. Existing values are preserved, nested objects fill missing leaves, and null or blank values are ignored. Names in context do not populate Contact fields. Target remains the delivery destination and the global profile and outbound caller ID are unchanged. CSV metadata cells are strings; use JSON Task creation for boolean, numeric or array Contact values. Retry list columns accept JSON arrays or pipe-separated values. Email tasks can use meta.email.subject.



## OpenAPI

````yaml post /api/v2/tasks/csv
openapi: 3.0.0
info:
  version: 2.0.0
  title: Vida API
  description: Vida API Documentation
servers:
  - url: https://api.vida.dev
    description: Vida Production
    variables:
      baseUrl:
        default: api.vida.dev
        description: Production API Root
security: []
tags:
  - name: Agents
  - name: Apps
    description: Install Vida apps and use their enabled integration functions.
  - name: Integrations
    description: Configure Vader integrations.
  - name: Inbound Email
    description: Control which senders may create inbound email work for an Agent.
  - name: Features
    description: Inspect capabilities available within an account hierarchy.
  - name: Conversation Logs
    description: Query conversation activity and calculate account-level metrics.
  - name: Computer Agents
    description: Set up, configure, inspect, and manage Vida Computer Agents.
  - name: Computer Agent Sessions
    description: View and reset Computer Agent sessions.
  - name: Accounts
  - name: Agent Templates
    description: Create, manage, and apply reusable Agent configurations.
paths:
  /api/v2/tasks/csv:
    post:
      tags:
        - Tasks
      summary: Create multiple tasks via CSV upload
      description: >-
        Upload up to 10,000 Tasks. Standard Task headers are case-insensitive;
        custom meta paths retain their casing. Recognized columns are type,
        target, context, taskContext, greeting, waitToGreet, accountId,
        scheduledFor, message, externalTaskId, goal.description,
        goal.completionCriteria, retryPolicy.delaysSeconds, retryPolicy.retryOn,
        and retryPolicy.responseTimeoutSeconds. Arbitrary nested meta.<path>
        columns are also accepted. For call, text and email Tasks, meta.contact
        fields populate missing structured Contact fields in the Task
        organization at creation, including meta.contact.name,
        meta.contact.email, meta.contact.address.state and
        meta.contact.customFields.vendorLeadCode. Existing values are preserved,
        nested objects fill missing leaves, and null or blank values are
        ignored. Names in context do not populate Contact fields. Target remains
        the delivery destination and the global profile and outbound caller ID
        are unchanged. CSV metadata cells are strings; use JSON Task creation
        for boolean, numeric or array Contact values. Retry list columns accept
        JSON arrays or pipe-separated values. Email tasks can use
        meta.email.subject.
      parameters:
        - name: Idempotency-Key
          in: header
          required: false
          schema:
            type: object
            properties:
              type:
                type: string
                example: string
              maxLength:
                type: number
                example: 200
          description: >-
            Required for uploads over 1,000 rows. Repeating the same key and
            payload safely resumes or returns that submission; reusing it for a
            different payload returns 409.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - csv
              properties:
                csv:
                  type: string
                  format: binary
                  description: CSV file
                contactListName:
                  type: string
                  description: Optional Contact List to enroll every task contact into
            encoding:
              csv:
                contentType: text/csv
      responses:
        '200':
          description: Tasks queued
        '202':
          description: Large Task submission accepted for asynchronous creation
        '400':
          description: Invalid CSV or missing required fields
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '409':
          description: Idempotency-Key was already used for a different payload
        '500':
          description: Internal Server Error
      security:
        - apiKeyAuth: []
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: query
      name: token
      description: Vida API Token

````