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

# Update Opportunity

> Update an opportunity's status or notes

Update an opportunity using the opportunity ID from search results. Use [List Opportunity Statuses](/api-reference/list-opportunity-statuses) to get available status IDs.

<Warning>
  **Owners are no longer set here.** An owner owns a
  [connector](/api-reference/list-connectors), and everything that connector produces. Sending
  `owner_id`, `owner_email`, `unassign_owner`, `create_owner_if_missing` or `owner_name` to this
  endpoint returns `400`. Use [Set Connector Owner](/api-reference/set-connector-owner) on the
  opportunity's connector instead, or `DELETE` on the same path to clear it.

  `status_id` and `notes` are unaffected and keep working exactly as before.
</Warning>

## Path Parameters

<ParamField path="id" type="string" required>
  Opportunity ID (from search results)
</ParamField>

## Body

<ParamField body="status_id" type="string">
  New status UUID. Use list opportunity statuses to get available IDs
</ParamField>

<ParamField body="notes" type="string">
  Notes about the opportunity
</ParamField>

<ParamField body="clear_status" type="boolean">
  Set true to remove the current status. Cannot be combined with `status_id`.
</ParamField>

<ParamField body="clear_notes" type="boolean">
  Set true to clear the notes.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X PUT "https://api.clustr-ai.com/api/public/opportunities/opp_abc123" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"status_id": "550e8400-e29b-41d4-a716-446655440001"}'
  ```

  ```bash cURL (add notes) theme={null}
  curl -X PUT "https://api.clustr-ai.com/api/public/opportunities/opp_abc123" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"notes": "Intro requested, waiting on Sam"}'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "data": {
      "id": "...",
      "status_id": "550e8400-e29b-41d4-a716-446655440001",
      "owner_id": "9c8e77d1-4b2a-4c8f-9a30-6e21d4f0aa57",
      "notes": "",
      "updated_at": "2025-03-15T14:30:00Z"
    }
  }
  ```

  ```json 400 (owner field sent) theme={null}
  {
    "success": false,
    "error": {
      "message": "Owners are set on the connector, not on a single opportunity. Use PUT /network/connectors/{linkedinId}/owner (DELETE to clear). status_id and notes are unaffected.",
      "code": "BAD_REQUEST"
    }
  }
  ```

  ```json 404 theme={null}
  {
    "success": false,
    "error": { "message": "Opportunity not found", "code": "NOT_FOUND" }
  }
  ```
</ResponseExample>
