Closes a project as sold or withdrawn. Closed projects become read-only.
- Type: stringidrequired
Project ID
Close payload
Request body for closing a project as sold or withdrawn.
- Type: null | stringbuyer
Contact Id ID of the buyer contact (optional, for external buyers not on the prospect list).
- Type: null | stringbuyer
Prospect Id ID of the buyer prospect (required if buyerType is 'prospect').
- Type: stringbuyer
Type Pattern: ^(prospect|external|none)$Buyer type: 'prospect' (from prospect list), 'external' (outside buyer), or 'none' (no-sale closure — deal closed without a buyer). Defaults to 'external'.
- Type: null | stringFormat: date-timeclose
Date Utc Close date (defaults to now if omitted).
- Type: object · nullableprice
Closing price as a single
value, amin/maxrange, or both. Currency is required; scale defaults tononewhen omitted. Examples:{ "value": 1320, "currency": "SEK", "scale": "millions" },{ "min": 50, "max": 60, "currency": "SEK", "scale": "millions" } - Type: object · nullableyield
Closing yield as a single
value, amin/maxrange, or both. Values are in percentage form (e.g., 5.0 = 5%). Examples:{ "value": 4.7 },{ "min": 4.0, "max": 5.5 }
- application/json
- application/problem+json
- application/problem+json
- application/problem+json
- application/problem+json
- application/problem+json
curl 'https://app.propstreet.com/api/v1/projects/{id}/close' \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"closeDateUtc": null,
"price": {
"value": 0,
"min": 0,
"max": 0,
"currency": "",
"scale": ""
},
"yield": {
"value": "",
"min": "",
"max": ""
},
"buyerContactId": null,
"buyerProspectId": null,
"buyerType": ""
}'
{
"id": "string",
"uri": null,
"externalRefs": [
{
"namespace": "string",
"id": "string"
}
],
"name": "string",
"asset": {
"type": "string",
"propertyCount": "string"
},
"status": "string",
"classification": null,
"teaser": {
"id": "string",
"uri": null,
"createdUtc": "2026-05-18T20:22:36.959Z",
"updatedUtc": "2026-05-18T20:22:36.959Z",
"etag": "string",
"changeType": null,
"changeOrigin": null,
"stage": null,
"publishedUtc": null,
"verifiedUtc": null,
"communicatedUtc": null,
"isPreMarket": null,
"exclusivity": null,
"title": null,
"tags": [
"string"
],
"options": {
"locality": {
"display": "actual"
},
"country": {
"display": "actual"
},
"tenure": {
"display": "actual"
},
"categories": {
"display": "actual"
},
"parcelArea": {
"display": "actual"
},
"avgContractLength": {
"display": "actual"
},
"leasableUnits": {
"display": "actual"
},
"zoningCategory": {
"display": "actual"
},
"zoningGfa": {
"display": "actual"
},
"rentalIncome": {
"display": "actual"
},
"investmentSize": {
"display": "actual"
},
"rentedPercent": {
"display": "actual"
},
"totalCosts": {
"display": "actual"
},
"noi": {
"display": "actual"
},
"yield": {
"display": "actual"
},
"propertyCount": {
"display": "actual"
},
"conversions": {
"display": "actual"
},
"yearBuilt": {
"display": "actual"
},
"locationClasses": {
"display": "actual"
}
},
"template": {
"locality": {
"allowedDisplays": [
"actual"
]
},
"country": {
"allowedDisplays": [
"actual"
]
},
"tenure": {
"allowedDisplays": [
"actual"
]
},
"categories": {
"allowedDisplays": [
"actual"
]
},
"parcelArea": {
"allowedDisplays": [
"actual"
]
},
"avgContractLength": {
"allowedDisplays": [
"actual"
]
},
"leasableUnits": {
"allowedDisplays": [
"actual"
]
},
"zoningCategory": {
"allowedDisplays": [
"actual"
]
},
"zoningGfa": {
"allowedDisplays": [
"actual"
]
},
"rentalIncome": {
"allowedDisplays": [
"actual"
]
},
"investmentSize": {
"allowedDisplays": [
"actual"
]
},
"rentedPercent": {
"allowedDisplays": [
"actual"
]
},
"totalCosts": {
"allowedDisplays": [
"actual"
]
},
"noi": {
"allowedDisplays": [
"actual"
]
},
"yield": {
"allowedDisplays": [
"actual"
]
},
"propertyCount": {
"allowedDisplays": [
"actual"
]
},
"conversions": {
"allowedDisplays": [
"actual"
]
},
"yearBuilt": {
"allowedDisplays": [
"actual"
]
},
"locationClasses": {
"allowedDisplays": [
"actual"
]
},
"tags": [
"string"
]
},
"projection": {
"locality": null,
"country": null,
"categories": [
{
"type": "string",
"locationClass": null,
"percentage": "string"
}
],
"yearBuilt": {
"value": "string",
"min": "string",
"max": "string"
},
"tenure": null,
"conversions": [
"string"
],
"rentalIncome": {
"value": 0,
"min": 0,
"max": 0,
"currency": "string",
"scale": "string"
},
"leasableUnits": {
"value": 0,
"min": 0,
"max": 0
},
"rentedPercent": {
"value": "string",
"min": "string",
"max": "string"
},
"totalCosts": {
"value": 0,
"min": 0,
"max": 0,
"currency": "string",
"scale": "string"
},
"noi": {
"value": 0,
"min": 0,
"max": 0,
"currency": "string",
"scale": "string"
},
"parcelArea": {
"value": 0,
"min": 0,
"max": 0
},
"avgContractLength": {
"value": 0,
"min": 0,
"max": 0
},
"yield": {
"value": "string",
"min": "string",
"max": "string"
},
"zoningCategories": [
"string"
],
"zoningGfa": {
"value": 0,
"min": 0,
"max": 0
},
"investmentSize": {
"value": 0,
"min": 0,
"max": 0,
"currency": "string",
"scale": "string"
},
"propertyCount": {
"value": 0,
"min": 0,
"max": 0
}
},
"nudge": {
"code": "string",
"message": "string",
"navigateUri": null
},
"navigateUri": null
},
"exclusivity": null,
"price": {
"value": 0,
"currency": "string",
"scale": "string"
},
"priceRange": {
"min": 0,
"max": 0,
"currency": "string",
"scale": "string"
},
"properties": [
{
"id": "string",
"uri": null,
"name": "string"
}
],
"transactions": [
{
"type": "string",
"closedUtc": "2026-05-18T20:22:36.959Z",
"price": {
"value": 0,
"min": 0,
"max": 0,
"currency": "string",
"scale": "string"
},
"yield": {
"value": "string",
"min": "string",
"max": "string"
},
"buyer": {
"type": null,
"name": null,
"prospectId": null
},
"seller": {
"type": null,
"name": null,
"prospectId": null
}
}
],
"createdUtc": "2026-05-18T20:22:36.959Z",
"updatedUtc": "2026-05-18T20:22:36.959Z",
"deletedUtc": null,
"etag": "string",
"changeType": null,
"changeOrigin": null
}