Restores a recently deleted project. A deleted project can be restored within 30 days of deletion, together with the prospects and external references that were removed by the same delete. Returns 409 when the project is not deleted.
Path Parameters
- Type: stringidrequired
Project ID
Responses
- application/json
- application/problem+json
- application/problem+json
- application/problem+json
- application/problem+json
- application/problem+json
Request Example for post/api/v1/projects/{id}/restore
curl 'https://app.propstreet.com/api/v1/projects/{id}/restore' \
--request POST \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
"id": "string",
"uri": null,
"externalRefs": [
{
"namespace": "string",
"id": "string"
}
],
"name": "string",
"asset": {
"type": "string",
"propertyCount": null
},
"status": "string",
"classification": null,
"teaser": {
"id": "string",
"uri": null,
"createdUtc": "2026-10-16T16:23:10.055Z",
"updatedUtc": "2026-10-16T16:23:10.055Z",
"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": null
}
],
"yearBuilt": {
"value": null,
"min": null,
"max": null
},
"tenure": null,
"conversions": [
"string"
],
"rentalIncome": {
"value": null,
"min": null,
"max": null,
"currency": "string",
"scale": "string"
},
"leasableUnits": {
"value": null,
"min": null,
"max": null
},
"rentedPercent": {
"value": null,
"min": null,
"max": null
},
"totalCosts": {
"value": null,
"min": null,
"max": null,
"currency": "string",
"scale": "string"
},
"noi": {
"value": null,
"min": null,
"max": null,
"currency": "string",
"scale": "string"
},
"parcelArea": {
"value": null,
"min": null,
"max": null
},
"avgContractLength": {
"value": null,
"min": null,
"max": null
},
"yield": {
"value": null,
"min": null,
"max": null
},
"zoningCategories": [
"string"
],
"zoningGfa": {
"value": null,
"min": null,
"max": null
},
"investmentSize": {
"value": null,
"min": null,
"max": null,
"currency": "string",
"scale": "string"
},
"propertyCount": {
"value": null,
"min": null,
"max": null
}
},
"nudge": {
"code": "string",
"message": "string",
"navigateUri": null
},
"navigateUri": null
},
"exclusivity": null,
"price": {
"value": 0,
"currency": "string",
"scale": "string"
},
"priceRange": {
"min": null,
"max": null,
"currency": "string",
"scale": "string"
},
"coverImageUrl": null,
"properties": [
{
"id": "string",
"uri": null,
"name": "string"
}
],
"transactions": [
{
"type": "string",
"closedUtc": "2026-10-16T16:23:10.055Z",
"price": {
"value": null,
"min": null,
"max": null,
"currency": "string",
"scale": "string"
},
"yield": {
"value": null,
"min": null,
"max": null
},
"buyer": {
"type": null,
"name": null,
"prospectId": null,
"contactId": null,
"companyId": null
},
"seller": {
"type": null,
"name": null,
"prospectId": null,
"contactId": null,
"companyId": null
},
"sellerAdvisor": {
"type": null,
"name": null,
"prospectId": null,
"contactId": null,
"companyId": null
},
"buyerAdvisor": {
"type": null,
"name": null,
"prospectId": null,
"contactId": null,
"companyId": null
},
"signedOn": null,
"completedOn": null,
"completedIsPlanned": true,
"compId": null
}
],
"createdUtc": "2026-10-16T16:23:10.055Z",
"updatedUtc": "2026-10-16T16:23:10.055Z",
"deletedUtc": null,
"etag": "string",
"changeType": null,
"changeOrigin": null
}Previous
Corrects the close of a closed project — the one change a closed project accepts: the
price and yield, the buyer type, the buyer, seller and advisors, the signing and completion
dates, the property and the asset. A field you omit keeps its value; a field sent as
`null` is cleared. The project's deal follows the correction; a correction to no sale
(`buyerType: "none"`) voids it and one back records it again. Each correction is one
`project.close_corrected` entry in the project's actions. An open project answers
`409`; a stale `If-Match` answers `412`; a correction that loses the race for
the deal to another change answers `409` — read the project again and retry.Next
Lists properties linked to a project.
Currently returns at most one property.