> ## 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 Contact

> Permanently deletes a contact that belongs to the API key's company, whether or not it holds job assignments. The delete cascades: every conversation the contact had, with its transcripts, recordings and analyses, is deleted too. This cannot be undone.

<Info>
  `DELETE /candidates/{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 contact. **This action cannot be undone, and it takes the contact's conversations with it.**

## Overview

This endpoint removes a contact and their personal data from your account outright. It is a hard delete, not a flag.

## Use Cases

* **Remove duplicates**: clean up a contact entered twice
* **GDPR compliance**: satisfy an erasure request
* **Cleanup**: drop contacts you no longer hold a reason to keep

## What Else Is Deleted

<Warning>
  **Deleting a contact deletes every conversation they had.** Their transcripts, recordings and
  analyses go with them, along with their job assignments. Nothing of theirs is readable through
  the API afterwards: a later `GET /conversations?contactId=…` for that contact returns nothing,
  and there is no endpoint that brings any of it back.

  If you need the call history, export it before you issue the delete.
</Warning>

<Info>
  Deleted rows are archived internally first — a deletion audit log and an archive table that
  exist for our own compliance obligations. Neither is reachable through the public API, so
  neither is a way for you to get the data back.
</Info>

## GDPR Considerations

<Info>
  This is the deletion the API offers, and it is the one to reach for on an erasure request. Note
  the internal archive above before you promise a data subject that nothing remains anywhere: if
  your obligation is erasure from our systems rather than from your integration, raise it with
  our support team rather than assuming this call has satisfied it.
</Info>

## Company Isolation

You can only delete contacts belonging to your API key's company. Ownership is validated first.

## Error Scenarios

* **404 Not Found**: the contact does not exist, or has already been deleted
* **403 Forbidden**: the contact belongs to a different company

## Related Resources

<CardGroup cols={2}>
  <Card title="Contacts Resource Guide" icon="user" href="/guides/resources/contacts">
    Learn about managing contacts
  </Card>

  <Card title="List Contacts" icon="list" href="/api-reference/contacts/list-contacts">
    Browse your contacts
  </Card>

  <Card title="Create Contact" icon="plus" href="/api-reference/contacts/create-contact">
    Create a new contact
  </Card>
</CardGroup>


## OpenAPI

````yaml DELETE /contacts/{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:
  /contacts/{id}:
    delete:
      tags:
        - Contacts
      summary: Delete contact
      description: >-
        Permanently deletes a contact that belongs to the API key's company,
        whether or not it holds job assignments. The delete cascades: every
        conversation the contact had, with its transcripts, recordings and
        analyses, is deleted too. This cannot be undone.
      operationId: PublicCandidatesController_deleteCandidate_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: ''
          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

````