---
title: "Append multiple voice corpus entries for one channel"
method: POST
path: "/api/voice/bulk"
tags: ["Voice"]
---

# Append multiple voice corpus entries for one channel

`POST /api/voice/bulk`

## Request

- Base URL: `https://api.setluca.com`
- URL: `https://api.setluca.com/api/voice/bulk`
- Auth: API key in cookie `luca.session_token`

Adds many samples for one channel in a single request. This is the usual way to seed a corpus during setup.

**Session-only.** This endpoint isn't on the API-key allowlist. An organization API key gets a 403 here, whatever scopes it holds.

## Headers

- `Luca-API-Version` '1'

## Request body

- VoiceCorpusBulkAdd
  - `channel` 'telegram' | 'instagram' | 'messenger' | 'whatsapp', required
  - `entries` object[], required
    - `source` string
    - `content` string, required

## Response `200`

ok

- VoiceCorpusBulkAddResponse
  - `entries` object[], required
    - `id` string, uuid, required
    - `source` string, nullable, required
    - `channel` 'telegram' | 'instagram' | 'messenger' | 'whatsapp' | 'null', nullable, required
    - `content` string, required
    - `createdAt` string, required
  - `version` integer, required

## Other responses

- `400`: bad request
- `401`: unauthorized
- `429`: rate limited
- `500`: internal error
- `503`: service unavailable

---

[API](https://skmtc.dev/setluca/apis/luca-api.md) · [All operations](https://skmtc.dev/setluca/apis/luca-api/llms.txt) · [OpenAPI document](https://skmtc.dev/setluca/apis/luca-api/revisions/90a200e4100b?raw)
