Close deal
Changed onClosing a deal is irreversible and requires human approval through the Intent system. This endpoint server-mints a pending syndicates.close_deal intent and returns the deal under data plus the intent's review_url under meta.close_deal_intent. The deal is not transitioned until a permitted human approves the intent in the Wefunder UI. Idempotent: a repeated call returns the same pending intent rather than minting a duplicate.
Request
- Base URL: https://api.wefunder.com
- URL: https://api.wefunder.com/syndicates/{syndicate_id}/deals/{fundraise_id}/close
- Auth: OAuth 2 (authorization code, authorization URL https://wefunder.com/oauth/authorize, token URL https://api.wefunder.com/oauth/token; client credentials, token URL https://api.wefunder.com/oauth/token, scopes: write:syndicates)
Path parameters
The syndicate's id (syn_...).
The deal's id (ofr_...), as returned by the deals list. Integer ids are internal and not accepted.
Response
Close intent proposed
Example response
{
"data": {
"id": "ofr_yw3OhusvpfJP4Pk3wRYV1F2R",
"type": "syndicate_deal",
"attributes": {
"name": "Acme Corp Series A",
"status": "open",
"company_name": "Acme Corp",
"company_id": 1234,
"company": "co_8Kd0aB3xQ9k2vF8mNp1zT5wY",
"company_url": "acme-corp",
"company_logo_url": "https://uploads.wefunder.com/uploads/company/logo/1234/large_logo.png",
"amount_raised": "230000",
"investor_count": 47,
"funding_target": "50000000",
"exemption": {
"family": "reg_cf",
"label": "Reg CF"
},
"security": {
"label": "SAFE",
"terms": {
"valuation_cap": "10000000",
"discount_percent": "20"
}
},
"min_investment": "100",
"max_investment": "50000",
"description": "Example text",
"created_at": "2025-03-01T12:00:00Z",
"updated_at": "2025-03-01T12:00:00Z",
"closed_at": "2025-03-01T12:00:00Z",
"funding_started_at": "2025-03-01T12:00:00Z"
}
},
"meta": {
"close_deal_intent": {
"id": "int_aB3xQ9k2vF8mNp1zT5wY7Qc4",
"status": "pending",
"review_url": "https://wefunder.com/intents/a1b2c3d4-e5f6-7890-abcd-ef1234567890/review"
}
}
}Changes
- breaking
the
/response's property type changed fromintegertostringfor status - breaking
the
//response's property format changed fromuuidto no format for status - warning
removed the optional property
//from the response with the status - warning
removed the optional property
//from the response with the status - warning
removed the optional property
//from the response with the status - info
for the
pathrequest parameterfundraise_id, the type was generalized fromintegertostring - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
response property
data/attributes/company_iddeprecated
- breaking
- info
for the
pathrequest parametersyndicate_id, the type was generalized fromintegertostring - info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the success response with the status
- info