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

# Update one or more contacts

> Updates active contacts only. Soft-deleted contacts are treated as permanently removed (404). The deleted flag cannot be set via the API. If labels or attributes are included, every id must exist for the connected phone number (from GET /labels and GET /attributes) or the request fails with 400.



## OpenAPI

````yaml /openapi.json patch /contacts
openapi: 3.1.0
info:
  title: GreenTick Developer API
  version: 1.0.0
  summary: WhatsApp messaging, contacts, workflows, and webhooks
  description: >-
    Use GreenTick's REST API to send WhatsApp messages, synchronize contacts,
    trigger workflows, and receive signed event webhooks. Each API key belongs
    to one connected phone number.
  contact:
    name: GreenTick Support
    url: https://greentick.ai
servers:
  - url: https://api.greentick.ai/v1
    description: GreenTick API v1
security: []
tags:
  - name: System
    description: Health and API metadata
  - name: Messages
    description: Send WhatsApp messages
  - name: Conversations
    description: List inbox threads and fetch message history
  - name: Templates
    description: Discover approved templates and their variables
  - name: Contacts
    description: Synchronize customer contacts
  - name: Labels
    description: Contact label catalog for the connected phone number
  - name: Attributes
    description: Contact custom attribute definitions for the connected phone number
  - name: Phone numbers
    description: WhatsApp sending line for this phone number
  - name: Automations
    description: List enrollable automations and start one for a contact
  - name: Workflow hooks
    description: Trigger GreenTick automations from external systems
  - name: Webhooks
    description: Subscribe Zapier, Make.com, or your own server to GreenTick events
  - name: API key
    description: Check the Bearer API key and account timezone
  - name: MCP platform
    description: Limits, usage, and shared connector behavior
  - name: Media
    description: Host customer-supplied files
  - name: Workflows
    description: Create, publish, and export automations
  - name: Flows
    description: WhatsApp Flows
  - name: AI bots
    description: AI bots and knowledge
  - name: Broadcasts
    description: Template broadcasts
  - name: Catalogs
    description: Commerce catalogs, products, and orders
  - name: Ads
    description: Click-to-WhatsApp ads and conversions
paths:
  /contacts:
    patch:
      tags:
        - Contacts
      summary: Update one or more contacts
      description: >-
        Updates active contacts only. Soft-deleted contacts are treated as
        permanently removed (404). The deleted flag cannot be set via the API.
        If labels or attributes are included, every id must exist for the
        connected phone number (from GET /labels and GET /attributes) or the
        request fails with 400.
      operationId: updateContacts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/ContactUpdate'
                - type: array
                  items:
                    $ref: '#/components/schemas/ContactUpdate'
      responses:
        '200':
          description: Contacts updated
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          description: One or more contacts not found
      security:
        - apiKey: []
components:
  schemas:
    ContactUpdate:
      type: object
      required:
        - id
      properties:
        id:
          type: string
          description: GreenTick contact ID to update.
        firstName:
          type: string
          maxLength: 100
        lastName:
          type: string
          maxLength: 100
        phoneNumber:
          type: string
          example: +91 98765 43210
          description: Optional. When set, normalized to digits including country code.
        notes:
          type: string
        attributes:
          type: array
          items:
            type: object
            required:
              - id
              - value
            properties:
              id:
                type: string
                description: Attribute definition ID from GET /attributes
              value:
                type: string
        labels:
          type: array
          items:
            type: string
          description: Label definition IDs from GET /labels
          example:
            - 668f1a2b3c4d5e6f7a8b9c10
  responses:
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            type: object
            required:
              - success
              - code
              - message
            properties:
              success:
                type: boolean
                example: false
              code:
                type: string
                example: INVALID_TO
              message:
                type: string
                example: to (E.164 phone) is required
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      bearerFormat: gt_live_…
      description: >-
        Create an API key in GreenTick Developer settings. Send it as
        Authorization: Bearer gt_live_… (Bearer prefix required).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.