---
title: "行を削除して番号を詰める（delete_lines）"
method: POST
path: "/api/v1/projects/{projectId}/lines/delete"
tags: ["projects"]
---

# 行を削除して番号を詰める（delete_lines）

`POST /api/v1/projects/{projectId}/lines/delete`

## Request

- Base URL: `https://app.yukkurigen.com`
- URL: `https://app.yukkurigen.com/api/v1/projects/{projectId}/lines/delete`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

## Path parameters

- `projectId` string, required

## Request body

- object
  - `indexes` integer[], required: 削除する行番号の配列。重複不可。全行を指定すると 400（1行は残す必要がある）。

## Response `200`

削除完了

- object
  - `success` boolean
  - `projectId` string
  - `deleted` integer[]: 削除した（旧）行番号
  - `lineCount` integer: 削除後の行数
  - `lines` LineSummary[]: 削除後の行一覧（新しい行番号で）
    - `index` integer
    - `speaker` string
    - `text` string
    - `audioReady` boolean
  - `nextStep` string

## Other responses

- `400`: リクエスト不正（code: validation_error / duplicate_index）
- `401`: 未認証（code: unauthenticated）
- `403`: 権限不足（projects:write / code: insufficient_scope）
- `404`: 存在しない行番号を指定した（code: line_not_found）
- `429`: レートリミット超過（code: rate_limited）

## Changes

- **2026-10-20** `ba5f36b016da`: 25 warning, 15 info
  - added the new `already_subscribed` enum value to the `code` response property for the response status `400`
  - added the new `already_subscribed` enum value to the `code` response property for the response status `401`
  - added the new `already_subscribed` enum value to the `code` response property for the response status `403`
  - added the new `already_subscribed` enum value to the `code` response property for the response status `404`
  - …36 more

[Operation history](https://skmtc.dev/yukkurigen/apis/yukkurigen-ai-operated-api/changes/api/v1/projects/:projectId/lines/delete/post.md)

---

[API](https://skmtc.dev/yukkurigen/apis/yukkurigen-ai-operated-api.md) · [All operations](https://skmtc.dev/yukkurigen/apis/yukkurigen-ai-operated-api/llms.txt) · [OpenAPI document](https://skmtc.dev/yukkurigen/apis/yukkurigen-ai-operated-api/revisions/ba5f36b016da?raw)
