/{organizationId}/{mandateId}/sales/opportunities/{opportunityId}Get sales opportunity
Returns one opportunity from the sales pipeline
Required permissions:
mandate.read
opportunity.read
Path Parameters
organizationIdstringrequired mandateIdstringrequired opportunityIdstringrequired Authentication: X-API-Key
Request
curl --request GET 'https://cloud.campai.com/api/{organizationId}/{mandateId}/sales/opportunities/{opportunityId}' \
--header 'X-API-Key: YOUR_API_KEY'Responses
This endpoint returns different response codes based on the request outcome.
200Successful response
Content-Type: application/json
ObjectId as string
createdAtdate-time | nulloptional updatedAtdate-time | nulloptional removedAtdate-time | nulloptional __ignoreTriggersstring | nulloptional ObjectId as string
ObjectId as string
namestringrequired minLength: 1
maxLength: 80
stagestringrequired Options:
newqualifiedoffernegotiationwonlostAdditional properties are not allowed.
expectedValueinteger | nullrequired minimum: 0
maximum: 9999999999
salesChanceintegerrequired minimum: 0
maximum: 100
expectedCloseAtstring | nullrequired ObjectId as string
Additional properties are not allowed.
notesstringrequired maxLength: 4000
lostReasonstring | nullrequired minLength: 1
maxLength: 400
ObjectId as string
Response
{
"_id": "000000000000000000000001",
"organization": "000000000000000000000001",
"mandate": "000000000000000000000001",
"name": "string",
"stage": "new",
"contact": {
"name": "string",
"type": "contact",
"nameNormalized": "string",
"nameSort": "string",
"contact": "000000000000000000000001",
"image": {
"resource": "string"
},
"user": {
"name": "string",
"type": "user",
"userId": "string",
"image": {
"resource": "string"
}
}
},
"expectedValue": 0,
"salesChance": 0,
"expectedCloseAt": "string",
"renewalOf": "000000000000000000000001",
"responsibleUser": {
"name": "string",
"type": "user",
"userId": "string",
"image": {
"resource": "string"
}
},
"products": [
{
"product": "000000000000000000000001",
"quantity": 1
}
],
"notes": "string",
"lostReason": "string",
"offerReceipt": "000000000000000000000001"
}400Invalid input data
Content-Type: application/json
The error information
messagestringrequired The error message
codestringrequired The error code
An array of issues that were responsible for the error
Response
{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}401Authorization not provided
Content-Type: application/json
The error information
messagestringrequired The error message
codestringrequired The error code
An array of issues that were responsible for the error
Response
{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}403Insufficient access
Content-Type: application/json
The error information
messagestringrequired The error message
codestringrequired The error code
An array of issues that were responsible for the error
Response
{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}404Not found
Content-Type: application/json
The error information
messagestringrequired The error message
codestringrequired The error code
An array of issues that were responsible for the error
Response
{
"code": "NOT_FOUND",
"message": "Not found",
"issues": []
}500Internal server error
Content-Type: application/json
The error information
messagestringrequired The error message
codestringrequired The error code
An array of issues that were responsible for the error
Response
{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}