Skip to main content

Update deal

Change one Deal’s fields, links, owner, value, stage, or next step.

PATCH/api/deals/{deal_id}
Scope deals:writeUpdated October 23, 2026

This page documents the canonical HTTP contract. Switch to the CLI example when you want the operator workflow.

PATCH fields are at the top level of the JSON body. Moving into a won stage can mark direct contacts as customers and exit linked account leads from prospecting sequences. Archive through DELETE when the Deal should leave default active lists.

Path parameters

  • deal_idrequired

    string

    Exact Deal ID.

Body parameters

  • name · optional

    string

    New Deal name.

  • primary_company_id · optional

    string | null

    Primary linked company ID.

  • company_ids · optional

    array<string> | null

    Linked company IDs; null clears the list.

  • lead_ids · optional

    array<string> | null

    Linked lead IDs; null clears the list.

  • owner_user_id · optional

    string | null

    Active owner user in this organization, or null to clear.

  • amount · optional

    object | null

    Deal value, or null to clear.

  • pipeline_id · optional

    string | null

    Pipeline ID; set with stage_id when changing pipelines.

  • stage_id · optional

    string | null

    Stage in the selected active pipeline.

  • expected_close_date · optional

    date | null

  • actual_close_date · optional

    date | null

  • next_step · optional

    string | null

  • custom_fields · optional

    object

    Updates validated Deal custom-field values.

  • record_status · optional

    string

    active or archived. Use active to restore an archived Deal; DELETE also archives.

Errors

StatusMeaning
400Invalid field, association, owner, pipeline, or stage.
401Authentication required.
403Missing deals:write scope.
404Deal not found in this organization.
422Invalid Deal payload.

Docs