Create an opportunity
curl --request POST \
--url https://api.vegaminds.com/v1/opportunities \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Ellis rollover",
"pipeline_id": "893b759e-40c4-4948-8312-2d32b0ec01d6",
"amount": 150000,
"probability": 50,
"expected_close_date": "2026-12-15"
}
'import requests
url = "https://api.vegaminds.com/v1/opportunities"
payload = {
"name": "Ellis rollover",
"pipeline_id": "893b759e-40c4-4948-8312-2d32b0ec01d6",
"amount": 150000,
"probability": 50,
"expected_close_date": "2026-12-15"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Ellis rollover',
pipeline_id: '893b759e-40c4-4948-8312-2d32b0ec01d6',
amount: 150000,
probability: 50,
expected_close_date: '2026-12-15'
})
};
fetch('https://api.vegaminds.com/v1/opportunities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": {
"code": "invalid_request",
"message": "The request body is invalid.",
"fields": {
"email_addresses[0].address": "Must be an email address."
}
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "invalid_token",
"message": "The access token is invalid, expired or revoked."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "insufficient_scope",
"message": "This request needs the contacts:write scope, which the user did not grant. Connect the user again, asking for it."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "rate_limited",
"message": "Too many requests. Wait the number of seconds in the Retry-After header, then try again."
}
}{
"error": {
"code": "internal_error",
"message": "Something went wrong on our side. Try again later, and contact Vega support with the request id if it keeps happening."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}Opportunities
Create an opportunity
Requires a name and pipeline_id. The stage defaults to the pipeline’s first stage, status to open, assignee to the connected user, and ownership and sharing to that user’s defaults. Client links are optional and must be accessible. Won or lost opportunities receive a close date if omitted. Each call creates a new opportunity; no idempotency key. A failed call can have saved the opportunity before a later step failed: check before retrying.
POST
/
opportunities
Create an opportunity
curl --request POST \
--url https://api.vegaminds.com/v1/opportunities \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Ellis rollover",
"pipeline_id": "893b759e-40c4-4948-8312-2d32b0ec01d6",
"amount": 150000,
"probability": 50,
"expected_close_date": "2026-12-15"
}
'import requests
url = "https://api.vegaminds.com/v1/opportunities"
payload = {
"name": "Ellis rollover",
"pipeline_id": "893b759e-40c4-4948-8312-2d32b0ec01d6",
"amount": 150000,
"probability": 50,
"expected_close_date": "2026-12-15"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Ellis rollover',
pipeline_id: '893b759e-40c4-4948-8312-2d32b0ec01d6',
amount: 150000,
probability: 50,
expected_close_date: '2026-12-15'
})
};
fetch('https://api.vegaminds.com/v1/opportunities', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": {
"code": "invalid_request",
"message": "The request body is invalid.",
"fields": {
"email_addresses[0].address": "Must be an email address."
}
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "invalid_token",
"message": "The access token is invalid, expired or revoked."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "insufficient_scope",
"message": "This request needs the contacts:write scope, which the user did not grant. Connect the user again, asking for it."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}{
"error": {
"code": "rate_limited",
"message": "Too many requests. Wait the number of seconds in the Retry-After header, then try again."
}
}{
"error": {
"code": "internal_error",
"message": "Something went wrong on our side. Try again later, and contact Vega support with the request id if it keeps happening."
},
"request_id": "3f6c1e9a-2b7d-4c58-9e41-8a0d5b7f2c16"
}Authorizations
Scopes
Body
application/json

