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

# Override a prospect's stage

> Pin a prospect to a pipeline stage, or clear the override.

Pins a prospect to a pipeline stage, or clears the override.

**Body**: `stage` - `contacted`, `negotiating`, or `null` to clear. `won` cannot be set: it means a verified live link, so use [Re-check links](https://snowseo.com/docs/api-reference/endpoints/outreach-prospects-bulk.md).

The stage is normally derived from real signals - contacts found, mail sent, replies received, links confirmed - so only override it to record something that happened off-platform. You can switch between `contacted` and `negotiating` in either direction, but never below what the rows already prove: a move below the derived stage returns `409`. An override never hides a reply or a confirmed link that arrives later.


## OpenAPI

````yaml PATCH /v3/outreach/prospects/{id}/stage
openapi: 3.0.0
info:
  title: SnowSEO API
  description: API documentation for SnowSEO
  version: 1.0.0
servers:
  - url: https://api.snowseo.com
    description: Production server
security:
  - bearerAuth: []
  - apiKey: []
externalDocs:
  url: https://snowseo.com/docs
  description: Find more info here
paths:
  /v3/outreach/prospects/{id}/stage:
    patch:
      tags:
        - Outreach
      summary: Override a prospect's pipeline stage
      description: >-
        Pin a prospect to "contacted" or "negotiating", or send null to clear
        the override and let it be derived from its own rows again. The stage is
        normally worked out from real signals - contacts found, mail sent,
        replies, links live - so only override it to record something that
        happened off-platform. You may move in either direction between those
        two, but never below what the rows already prove: a prospect that has
        actually replied cannot be pinned back to "contacted". "won" cannot be
        set at all; it means a verified live link, so run
        outreach_recheck_prospects and let the check find it.
      operationId: setOutreachProspectStage
      parameters:
        - schema:
            type: string
          in: path
          name: id
          required: true
          description: Prospect ID.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - stage
              properties:
                stage:
                  type: string
                  nullable: true
                  enum:
                    - contacted
                    - negotiating
                    - null
                  description: Stage to pin, or null to clear the override.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  stage:
                    type: string
                  manualStage:
                    type: string
                    nullable: true
                additionalProperties: true
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Your SnowSEO API key (sk_...).
    apiKey:
      type: apiKey
      name: x-api-key
      in: header

````

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