Skip to content
Pitch2SaleDevelopers
Open the app
Early access: these pages are being written and reviewed. Facts in the header boxes come straight from the product.

Update opportunity

PUT
/api/v1/win-loss/opportunities/{id}
curl --request PUT \
--url https://api.pitch2sale.com/api/v1/win-loss/opportunities/example \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "reason_ids": [ "example" ], "competitor": "example", "deciding_factor": "example", "notes_html": "example", "intro_asks": [ "example" ], "revive_date": "2026-04-15T12:00:00Z", "ai_suggestions_accepted": true }'
id
required
string
Media typeapplication/json
object
reason_ids
required
Array<string>
>= 1 items <= 10 items
competitor
Any of:
string
<= 120 characters
deciding_factor
Any of:
string
<= 500 characters
notes_html
Any of:
string
<= 10000 characters
intro_asks
Array<string>
<= 10 items
revive_date
Any of:
string format: date-time
ai_suggestions_accepted
boolean
Examplegenerated
{
"reason_ids": [
"example"
],
"competitor": "example",
"deciding_factor": "example",
"notes_html": "example",
"intro_asks": [
"example"
],
"revive_date": "2026-04-15T12:00:00Z",
"ai_suggestions_accepted": true
}

OK

Validation failed

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Authentication required or token invalid

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Role permission or token scope missing

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}

Rate limit exceeded

Media typeapplication/json
object
error
required
string
code
string
message
string
details
Array<object>
object
field
required
string
message
required
string
code
required
string
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"message": "example",
"code": "example"
}
]
}