## Discard a sequence draft

`sequence.discard_draft(strid, SequenceDiscardDraftParams**kwargs)  -> SequenceDiscardDraftResponse`

**post** `/v1/sequences/{id}/draft/discard`

Discards the open draft at `expectedVersion`. A published sequence keeps its published version. A sequence that has never been published is deleted with its draft, and `sequenceDeleted` is true. Returns 404 `draft_not_found` when no draft is open, and 409 when `expectedVersion` is not the open draft’s `version`; retrieve the draft and retry.

**[Required scope](/using-the-api/scopes/):** `sequences:update`

**[Rate limit category](/using-the-api/rate-limits/):** Write

### Parameters

- `id: str`

  Unique identifier of the sequence.

- `expected_version: str`

  The open draft’s `version` as last read.

### Returns

- `class SequenceDiscardDraftResponse: …`

  - `sequence_deleted: bool`

    True when the sequence had never been published, so discarding its only draft deleted it.

  - `sequence_id: str`

    The sequence whose draft was discarded.

### Example

```python
from lightfield import Lightfield

client = Lightfield(
    api_key="My API Key",
)
sequence_discard_draft_response = client.sequence.discard_draft(
    id="id",
    expected_version="expectedVersion",
)
print(sequence_discard_draft_response.sequence_deleted)
```

#### Response

```json
{
  "sequenceDeleted": true,
  "sequenceId": "sequenceId"
}
```
