API · Manage · Entities
Get cofounder departure readiness.
Pre-flight check before invoking POST /v1/workflows/handle_cofounder_departure. Returns a typed cofounder_departure_readiness resource — executable: bool, an iterable blockers[] array, and a vesting_summary{} snapshot of the departing stakeholder's grant state (vested, unvested, cliff state, active blackout windows). Each blocker carries category, severity, summary, and a remediation block pointing at the endpoint that clears it.
Idempotent and side-effect-free. Walk the blockers, clear each entry, then re-fetch until executable: true.
Last updated
Query Parameters
departing_stakeholder_idstringRequiredStakeholder targeted for separation.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
Request
curl -X GET "https://api.mattermode.com/v1/entities/{id}/cofounder_departure_readiness?departing_stakeholder_id=string"fetch("https://api.mattermode.com/v1/entities/{id}/cofounder_departure_readiness?departing_stakeholder_id=string", { method: "GET"})package mainimport ( "fmt" "net/http" "io/ioutil")func main() { url := "https://api.mattermode.com/v1/entities/{id}/cofounder_departure_readiness?departing_stakeholder_id=string" req, _ := http.NewRequest("GET", url, nil) res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body))}import requestsheaders = { "Authorization": "Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc", "Matter-Version": "2026-06-10",}resp = requests.get( "https://api.mattermode.com/v1/entities/ent_Nq3KcAbc/cofounder_departure_readiness", headers=headers,)resp.raise_for_status()print(resp.json())import java.net.URI;import java.net.http.HttpClient;import java.net.http.HttpRequest;import java.net.http.HttpResponse;import java.net.http.HttpResponse.BodyHandlers;import java.time.Duration;HttpClient client = HttpClient.newBuilder() .connectTimeout(Duration.ofSeconds(10)) .build();HttpRequest.Builder requestBuilder = HttpRequest.newBuilder() .uri(URI.create("https://api.mattermode.com/v1/entities/{id}/cofounder_departure_readiness?departing_stakeholder_id=string")) .GET() .build();try { HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString()); System.out.println("Status code: " + response.statusCode()); System.out.println("Response body: " + response.body());} catch (Exception e) { e.printStackTrace();}using System;using System.Net.Http;using System.Text;var client = new HttpClient();var response = await client.GetAsync("https://api.mattermode.com/v1/entities/{id}/cofounder_departure_readiness?departing_stakeholder_id=string");var responseBody = await response.Content.ReadAsStringAsync();curl --request GET 'https://api.mattermode.com/v1/entities/ent_Nq3KcAbc/cofounder_departure_readiness' \ --header 'Authorization: Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc' \ --header 'Matter-Version: 2026-06-10'const response = await fetch("https://api.mattermode.com/v1/entities/ent_Nq3KcAbc/cofounder_departure_readiness", { method: "GET", headers: { "Authorization": "Bearer sk_test_4eC39HqLyjWDarjtT1zdp7dc", "Matter-Version": "2026-06-10", },});if (!response.ok) { throw new Error(`Matter API ${response.status}: ${await response.text()}`);}const data = await response.json();console.log(data);Response
application/json{
"object": "cofounder_departure_readiness",
"entity_id": "string",
"departing_stakeholder_id": "string",
"executable": true,
"blockers": [
{
"category": "spousal_consent_missing",
"severity": "machine_remediable",
"summary": "string",
"remediation": {
"suggested_endpoint": "string",
"suggested_payload": {},
"signer_role": "string"
}
}
],
"vesting_summary": {
"departing_stakeholder_id": "string",
"grant_id": "string",
"vested_count": 0,
"unvested_count": 0,
"cliff_state": "pre_cliff",
"commencement_date": "2019-08-24",
"departure_date": "2019-08-24",
"months_to_cliff": 0,
"blackout_active": true,
"blackout_window_id": "string"
},
"estimated_consideration": {
"acceleration_share_count": 0,
"repurchase_share_count": 0,
"repurchase_price_per_share_cents": 0,
"repurchase_total_usd": 0
}
}{
"type": "https://mattermode.com/docs/errors/authentication_required",
"title": "Authentication required",
"status": 401,
"code": "authentication_required",
"detail": "No bearer token was supplied. Pass `Authorization: Bearer sk_live_...` on every request.",
"doc_url": "https://mattermode.com/docs/guides/errors#authentication_required",
"request_id": "req_Qw9xYz8A"
}{
"type": "https://mattermode.com/docs/errors/not_found",
"title": "Not found",
"status": 404,
"code": "not_found",
"detail": "No entity with id `ent_Nq3KcAbc` is visible to this token.",
"doc_url": "https://mattermode.com/docs/guides/errors#not_found",
"request_id": "req_Qw9xYz8A"
}{
"type": "https://mattermode.com/docs/errors/rate_limit_exceeded",
"title": "Rate limit exceeded",
"status": 429,
"code": "rate_limit_exceeded",
"detail": "Request rate exceeded for this key. Retry after `retry_after` seconds or honor the `Retry-After` header.",
"doc_url": "https://mattermode.com/docs/guides/errors#rate_limit_exceeded",
"request_id": "req_Qw9xYz8A",
"retry_after": 30
}