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

# Update contact

> Update a contact. At least one of "email" or "name" must be provided; omitted fields keep their current values.

The update is partial: omitted attributes keep their current values, and at least one of `email` or `name` must be provided. The `creatorEmail` must belong to an active workspace member, who is recorded as the author of this manual change.

Some contacts cannot be updated:

* Contacts bound to a workspace user (`userId` set) cannot be edited.
* The email of a contact linked to a CRM entity must be changed in the CRM instead.
* The new email cannot be already owned by another contact of the workspace.


## OpenAPI

````yaml PATCH /v1/contacts/{contactId}
openapi: 3.1.0
info:
  title: Claap API
  description: Development documentation
  version: 0.0.0
servers:
  - url: https://api.claap.io/
security:
  - ApiKey: []
paths:
  /v1/contacts/{contactId}:
    patch:
      description: >-
        Update a contact. At least one of "email" or "name" must be provided;
        omitted fields keep their current values.
      operationId: patchV1ContactsByContactId
      parameters:
        - in: path
          name: contactId
          schema:
            type: string
            description: Contact identifier
          required: true
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                creatorEmail:
                  type: string
                  format: email
                  description: >-
                    Email of the workspace member recorded as the author of this
                    manual change.
                email:
                  type: string
                  format: email
                  description: New contact email address.
                name:
                  type: string
                  minLength: 1
                  description: New contact name.
              required:
                - creatorEmail
              anyOf:
                - required:
                    - email
                - required:
                    - name
      responses:
        '200':
          description: Contact was successfully updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: object
                    properties:
                      contact:
                        $ref: '#/components/schemas/ApiContact'
                    required:
                      - contact
                required:
                  - result
        '400':
          description: >-
            The request is not valid. For instance no field to update is
            provided, the contact is bound to a workspace user, the new email is
            already owned by another contact, or the contact is linked to a CRM
            entity and its email must be changed in the CRM instead.
        '404':
          description: Contact was not found.
components:
  schemas:
    ApiContact:
      type: object
      properties:
        contactId:
          type: string
          description: The contact identifier.
        companyId:
          type: string
          description: The identifier of the company the contact belongs to.
        createdAt:
          type: string
          description: The contact creation date (ISO datetime).
        crmUrl:
          type: string
          description: The URL of the contact in the connected CRM.
        email:
          type: string
          description: The contact email address.
        isExternal:
          type: boolean
          description: >-
            Whether the contact is external to the workspace. False when the
            contact is bound to a workspace user.
        name:
          type: string
          description: The contact name.
        summary:
          type: object
          properties:
            markdown:
              type: string
              description: The AI-generated contact summary, in Markdown.
          required:
            - markdown
          description: >-
            The AI-generated contact summary. Absent until it has been generated
            for the first time.
        updatedAt:
          type: string
          description: The contact last update date (ISO datetime).
        userId:
          type: string
          description: >-
            The identifier of the workspace user the contact is bound to.
            Contacts bound to a workspace user cannot be edited.
      required:
        - contactId
        - createdAt
        - email
        - name
        - updatedAt
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-Claap-Key

````