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

# Delete a contact

> Deletes the profile. The conversations of this customer stay in the
inbox, and they lose their link to the profile.

To erase the messages as well, use the data controls in Kai, under
**Settings → Data controls**.




## OpenAPI

````yaml /openapi.yaml delete /contacts/{id}
openapi: 3.1.0
info:
  title: Kai Contacts API
  version: 1.0.0
  description: |
    Push, update, assign and export the contacts of one Kai workspace.

    Every request needs an API key. Make a key in Kai, under
    **Settings → API**. Send the key in the `Authorization` header.

    The API works on one workspace. The key decides which workspace, so no
    request carries a workspace id.
  contact:
    name: Kai support
    url: https://kaisupport.com
servers:
  - url: https://kaisupport.com/api/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Contacts
    description: Customer profiles, their attributes and their account owners.
  - name: Attributes
    description: The attributes that the workspace keeps on every contact.
  - name: Members
    description: The teammates of the workspace. Read-only.
paths:
  /contacts/{id}:
    parameters:
      - name: id
        in: path
        required: true
        description: The Kai contact id.
        schema:
          type: string
          format: uuid
    delete:
      tags:
        - Contacts
      summary: Delete a contact
      description: |
        Deletes the profile. The conversations of this customer stay in the
        inbox, and they lose their link to the profile.

        To erase the messages as well, use the data controls in Kai, under
        **Settings → Data controls**.
      operationId: deleteContact
      responses:
        '200':
          description: The contact was deleted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      deleted:
                        type: boolean
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    Unauthorized:
      description: The API key is missing or not valid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              type: unauthorized
              message: That API key is not valid.
    Forbidden:
      description: The API key does not have the permission that this endpoint needs.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              type: forbidden
              message: This key does not have the "contacts:write" permission.
    NotFound:
      description: There is no such record in this workspace.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              type: not_found
              message: No such contact.
  schemas:
    Error:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ErrorBody'
    ErrorBody:
      type: object
      properties:
        type:
          type: string
          description: A stable machine name for the error.
        message:
          type: string
          description: One sentence for a human reader.
        details:
          description: The attributes or the identities that caused the error.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: |
        Send your API key as `Authorization: Bearer kai_live_...`.

        Make and revoke keys in Kai, under **Settings → API**. Kai stores only
        a hash of the key, so the full key is shown one time.

````