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

# Delete Conversation

> Permanently deletes a conversation and all associated data (transcripts, recordings, and analyses). This action is irreversible. A scheduled conversation is removed from the processing queue. For one already in progress, the active call continues to its natural end, but all post-call processing is skipped and concurrency slots are released.

<Info>
  `DELETE /interviews/{id}` is a permanent alias of this endpoint and keeps working unchanged, with the same scopes and the same response. See [Resource names](/api-reference/introduction#resource-names).
</Info>

Permanently deletes a conversation and everything recorded with it. **This action cannot be undone.**

## Overview

This endpoint removes a conversation and all of its data — transcripts, recordings, analyses — from your account. Use it for data hygiene, or to clear out test calls.

## Use Cases

* **Drop what is no longer needed**: conversations scheduled and then called off
* **Clean up test calls**: remove test or development conversations from production
* **Data management**: permanently remove a conversation and everything with it

## Impact on Associated Data

<Warning>
  **Permanent Deletion**: This action is irreversible. All associated data (transcripts, recordings, and analysis) will be permanently deleted.
</Warning>

## Conversation States

A conversation can be deleted whatever its current status:

| Status        | Deletable | Notes                                               |
| ------------- | --------- | --------------------------------------------------- |
| `SCHEDULED`   | ✅ Yes     | Removed from the queue automatically                |
| `IN_PROGRESS` | ✅ Yes     | Call continues, but post-call processing is skipped |
| `COMPLETED`   | ✅ Yes     | Already finished, analysis available                |
| `FAILED`      | ✅ Yes     | Never completed                                     |
| `CANCELED`    | ✅ Yes     | Already canceled                                    |

## Scheduled Conversation Behavior

<Info>
  Deleting a **scheduled** conversation removes it from the processing queue, so the call is
  never placed. Its scheduled call attempts are marked **CANCELLED** and dequeued with it.
</Info>

## In-Progress Conversation Behavior

<Warning>
  Deleting an **in-progress** conversation lets the live call **run to its natural end**. All
  post-call processing is **skipped** once it does.
</Warning>

When you delete an in-progress conversation:

* The active phone call **continues** until it ends naturally
* When the call ends, **no post-call processing** occurs:
  * No transcript generation
  * No analysis or scoring
  * No completion webhooks
* Concurrency slots are released when the call ends

<Tip>
  If you want the call's data (transcript, analysis), wait for the conversation to complete
  before deleting it. Deleting one mid-call collects nothing at all.
</Tip>

## Webhooks

Deletion emits **no webhook**, including no [`conversation.cancelled`](/guides/webhooks#conversation-cancelled-payload). Deleting removes the resource outright rather than cancelling it, and any of the conversation's webhook deliveries still pending at that moment are cancelled as part of the same operation.

<Warning>
  If you rely on a terminal event to close a conversation out in your own system, record the
  deletion at the point you issue this call — no event will arrive afterwards, and a subsequent
  `GET /conversations/{id}` returns `404`.
</Warning>

## Example Usage

```javascript theme={null}
async function deleteConversation(conversationId) {
  const response = await fetch(
    `https://api.instaview.sk/conversations/${conversationId}`,
    {
      method: "DELETE",
      headers: {
        Authorization: `Bearer ${apiKey}`,
        "Content-Type": "application/json",
      },
      // Without a deadline a stalled request never settles.
      signal: AbortSignal.timeout(10_000),
    },
  );

  if (!response.ok) {
    const error = await response.json();
    throw new Error(error.message);
  }

  const data = await response.json();
  return data; // { id, deleted: true }
}

// Usage
const deleted = await deleteConversation("550e8400-e29b-41d4-a716-446655440000");
console.log("Conversation deleted:", deleted);
```

## Company Isolation

You can only delete conversations belonging to your API key's company. Reaching for one from another company returns `403 Forbidden`.

## Required Scopes

This endpoint requires the `delete:conversations` scope (or its legacy alias `delete:interviews`). Ensure your API key has this scope enabled.

## Error Scenarios

| Status Code | Error        | Description                                 |
| ----------- | ------------ | ------------------------------------------- |
| 404         | Not Found    | Does not exist, or has already been deleted |
| 403         | Forbidden    | Belongs to a different company              |
| 401         | Unauthorized | Invalid or missing API key                  |
| 400         | Bad Request  | Malformed conversation ID                   |

## Related Resources

<CardGroup cols={2}>
  <Card title="Conversations Resource Guide" icon="microphone" href="/guides/resources/conversations">
    Learn the conversation lifecycle
  </Card>

  <Card title="List Conversations" icon="list" href="/api-reference/conversations/list-conversations">
    View a contact's conversations
  </Card>

  <Card title="Get Conversation" icon="eye" href="/api-reference/conversations/get-conversation">
    Read it before you delete it
  </Card>

  <Card title="Create Conversation" icon="plus" href="/api-reference/conversations/create-conversation">
    Schedule a new call
  </Card>
</CardGroup>


## OpenAPI

````yaml DELETE /conversations/{id}
openapi: 3.0.0
info:
  title: InstaView API
  description: |-
    InstaView API Documentation

    ## Authentication

    All endpoints require API key authentication using Bearer token:
    ```
    Authorization: Bearer sk_your_api_key_here
    ```

    ## API Key Management

    The API Key module provides comprehensive key management for:
    - **Direct Client Keys**: Company-scoped keys for your applications
    - **ATS Partner Keys**: Resource-scoped keys for ATS integrations

    ### Key Features
    - HMAC-SHA256 hashing for API key storage
    - Configurable rate limiting
    - Comprehensive audit logging
    - Company-level isolation
    - Resource scoping for ATS partners
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.instaview.sk
    description: Production API Gateway
security: []
tags: []
paths:
  /conversations/{id}:
    delete:
      tags:
        - Conversations
      summary: Delete conversation
      description: >-
        Permanently deletes a conversation and all associated data (transcripts,
        recordings, and analyses). This action is irreversible. A scheduled
        conversation is removed from the processing queue. For one already in
        progress, the active call continues to its natural end, but all
        post-call processing is skipped and concurrency slots are released.
      operationId: PublicInterviewsController_deleteInterview_v1
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
            format: uuid
        - name: companyId
          required: false
          in: query
          description: >-
            Required for ATS API keys to specify which company to access.
            Ignored for standard company API keys.
          schema:
            type: string
      responses:
        '200':
          description: Conversation deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicDeletedResponseDto'
      security:
        - bearer: []
components:
  schemas:
    PublicDeletedResponseDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Id of the deleted resource
        deleted:
          type: boolean
          enum:
            - true
          example: true
          description: Always true; a failed delete answers with an error status
      required:
        - id
        - deleted
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: API key for authentication using Bearer scheme

````