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

# Update lead status



## OpenAPI

````yaml /openapi.json patch /public/v1/leads/{id}/status
openapi: 3.0.0
info:
  title: Hostreach API
  description: >-
    Public REST API for Hostreach.


    Authenticate with an API key via the `X-Api-Key` header or `Authorization:
    Bearer <key>` header.


    Generate API keys from **Settings › Workspace › Acceso API** in the
    dashboard.
  version: '1.0'
  contact: {}
servers:
  - url: https://api.hostreach.io/v1
    description: Production
  - url: http://localhost:3001/v1
    description: Local
security:
  - apiKey: []
tags:
  - name: Identity
    description: Current workspace and usage
  - name: Platforms
    description: Supported real-estate portals and filter schemas
  - name: Extractions
    description: Lead extraction jobs
  - name: Leads
    description: Lead management
  - name: Campaigns
    description: Campaign management
  - name: Messaging
    description: Inbox and WhatsApp conversations
  - name: Templates
    description: WhatsApp message templates
  - name: Accounts
    description: WhatsApp accounts
  - name: Valuations
    description: Property valuations
  - name: Fichas
    description: Property listing sheets
  - name: Scheduling
    description: Calendar and appointments
  - name: Webhooks
    description: Event subscriptions
paths:
  /public/v1/leads/{id}/status:
    patch:
      tags:
        - Leads
      summary: Update lead status
      operationId: PublicLeadsController_updateStatus
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateLeadStatusDto'
      responses:
        '200':
          description: ''
      security:
        - bearerApiKey: []
        - apiKey: []
components:
  schemas:
    UpdateLeadStatusDto:
      type: object
      properties:
        status:
          type: string
          description: >-
            New CRM status for the lead. `PENDING` is the initial system state
            and cannot be set manually.


            | Status | Meaning |

            |--------|--------|

            | `CONTACTED` | Outreach message sent |

            | `REPLIED` | Lead responded |

            | `QUALIFIED` | Confirmed interest |

            | `UNQUALIFIED` | Not a fit |

            | `MEETING_SCHEDULED` | Appointment booked |

            | `FOLLOWED_UP` | Follow-up sent |

            | `NEGOTIATION` | In negotiation |

            | `WON` | Deal closed |

            | `LOST` | Deal lost |

            | `ARCHIVED` | Hidden from active pipeline |

            | `ERROR` | Delivery error |
          enum:
            - PENDING
            - CONTACTED
            - REPLIED
            - QUALIFIED
            - UNQUALIFIED
            - ERROR
            - MEETING_SCHEDULED
            - FOLLOWED_UP
            - NEGOTIATION
            - WON
            - LOST
            - ARCHIVED
            - DELETED
          example: CONTACTED
      required:
        - status
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-Api-Key
      description: >-
        API key (hr_live_... or hr_test_...). Generate from Settings › Workspace
        › Acceso API.

````