---
title: "Upload Campaign CSV (Beta)"
method: POST
path: "/campaign/upload-csv"
tags: ["campaign"]
---

# Upload Campaign CSV (Beta)

`POST /campaign/upload-csv`

Beta endpoint for large campaigns of 5k+ rows. Uploads and validates a CSV asynchronously, creating a draft bulk list.

## Headers

- `X-API-KEY` string, required

## Response `200`

CSV upload accepted for asynchronous validation.

- object
  - `bulk_list_id` string
  - `status` string
  - `campaign_name` string
  - `total_callees` integer
  - `invalidated_rows_count` integer
  - `invalidated_rows_csv_url` string, nullable

## Other responses

- `400` — Bad Request - Invalid input.
- `401` — Unauthorized - Invalid or missing authentication.

---

[API](https://skmtc.dev/ringg/apis/ringg-ai-api-documentation.md) · [All operations](https://skmtc.dev/ringg/apis/ringg-ai-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ringg/ringg-ai-api-documentation/revisions/00b614a7714c/schema)
