API reference
API: Account plans
| Method | Path | What it does | Scope |
|---|---|---|---|
| GET | /v1/accounts/:id/committee | The account's buying committee: role and stance per person with evidence, flags (no economic buyer or champion, single-threaded) and recent changes | accounts:read |
| POST | /v1/accounts/:id/committee/build | Build or rebuild the account's buying committee (stances need a verified quote; overrides are kept) | accounts:write |
| GET | /v1/accounts/:id/plan | An account's living plan: priorities, pain, people, current tools, risks and the next move, each with sources and a date, plus its change log | accounts:read |
| POST | /v1/accounts/:id/plan/items | Add an item to the plan (pinned: refreshes keep it) | accounts:write |
| DELETE | /v1/accounts/:id/plan/items/:key | Remove a plan item (a refresh won't add it back) | accounts:write |
| PATCH | /v1/accounts/:id/plan/items/:key | Edit, pin or unpin a plan item (an edit pins it: refreshes never overwrite it) | accounts:write |
| POST | /v1/accounts/:id/plan/next-move | Turn the next move into a CRM task (through the policy engine) or a drafted email that waits for your approval | accounts:write |
| POST | /v1/accounts/:id/plan/refresh | Build or refresh the plan now from research, signals, conversations, deals and contacts (pinned edits are kept) | accounts:write |
| PATCH | /v1/committee-members/:id | Override a person's role or stance (pinned and logged; null clears the override) | accounts:write |
| GET | /v1/contacts/:id/stakeholder-brief | A brief on one person: background, history with us, contract-review habits; every item sourced, unknowns shown (only what you may see) | contacts:read |
| GET | /v1/deals/:id/committee | A deal's buying committee | deals:read |
| POST | /v1/deals/:id/committee/build | Build or rebuild a deal's buying committee | deals:write |
Examples
GET /v1/accounts/$ID/committee
The account's buying committee: role and stance per person with evidence, flags (no economic buyer or champion, single-threaded) and recent changes
curl -s "https://api.closefinch.com/v1/accounts/$ID/committee" \
-H "Authorization: Bearer $RA_API_KEY"const res = await fetch(`https://api.closefinch.com/v1/accounts/${id}/committee`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();POST /v1/accounts/$ID/committee/build
Build or rebuild the account's buying committee (stances need a verified quote; overrides are kept)
curl -s -X POST "https://api.closefinch.com/v1/accounts/$ID/committee/build" \
-H "Authorization: Bearer $RA_API_KEY" \
-H "content-type: application/json" \
-d '{}'const res = await fetch(`https://api.closefinch.com/v1/accounts/${id}/committee/build`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();GET /v1/accounts/$ID/plan
An account's living plan: priorities, pain, people, current tools, risks and the next move, each with sources and a date, plus its change log
curl -s "https://api.closefinch.com/v1/accounts/$ID/plan" \
-H "Authorization: Bearer $RA_API_KEY"const res = await fetch(`https://api.closefinch.com/v1/accounts/${id}/plan`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();POST /v1/accounts/$ID/plan/items
Add an item to the plan (pinned: refreshes keep it)
curl -s -X POST "https://api.closefinch.com/v1/accounts/$ID/plan/items" \
-H "Authorization: Bearer $RA_API_KEY" \
-H "content-type: application/json" \
-d '{}'const res = await fetch(`https://api.closefinch.com/v1/accounts/${id}/plan/items`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();DELETE /v1/accounts/$ID/plan/items/$KEY
Remove a plan item (a refresh won't add it back)
curl -s -X DELETE "https://api.closefinch.com/v1/accounts/$ID/plan/items/$KEY" \
-H "Authorization: Bearer $RA_API_KEY"const res = await fetch(`https://api.closefinch.com/v1/accounts/${id}/plan/items/${key}`, {
method: "DELETE",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();PATCH /v1/accounts/$ID/plan/items/$KEY
Edit, pin or unpin a plan item (an edit pins it: refreshes never overwrite it)
curl -s -X PATCH "https://api.closefinch.com/v1/accounts/$ID/plan/items/$KEY" \
-H "Authorization: Bearer $RA_API_KEY" \
-H "content-type: application/json" \
-d '{}'const res = await fetch(`https://api.closefinch.com/v1/accounts/${id}/plan/items/${key}`, {
method: "PATCH",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();POST /v1/accounts/$ID/plan/next-move
Turn the next move into a CRM task (through the policy engine) or a drafted email that waits for your approval
curl -s -X POST "https://api.closefinch.com/v1/accounts/$ID/plan/next-move" \
-H "Authorization: Bearer $RA_API_KEY" \
-H "content-type: application/json" \
-d '{}'const res = await fetch(`https://api.closefinch.com/v1/accounts/${id}/plan/next-move`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();POST /v1/accounts/$ID/plan/refresh
Build or refresh the plan now from research, signals, conversations, deals and contacts (pinned edits are kept)
curl -s -X POST "https://api.closefinch.com/v1/accounts/$ID/plan/refresh" \
-H "Authorization: Bearer $RA_API_KEY" \
-H "content-type: application/json" \
-d '{}'const res = await fetch(`https://api.closefinch.com/v1/accounts/${id}/plan/refresh`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();PATCH /v1/committee-members/$ID
Override a person's role or stance (pinned and logged; null clears the override)
curl -s -X PATCH "https://api.closefinch.com/v1/committee-members/$ID" \
-H "Authorization: Bearer $RA_API_KEY" \
-H "content-type: application/json" \
-d '{}'const res = await fetch(`https://api.closefinch.com/v1/committee-members/${id}`, {
method: "PATCH",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();GET /v1/contacts/$ID/stakeholder-brief
A brief on one person: background, history with us, contract-review habits; every item sourced, unknowns shown (only what you may see)
curl -s "https://api.closefinch.com/v1/contacts/$ID/stakeholder-brief" \
-H "Authorization: Bearer $RA_API_KEY"const res = await fetch(`https://api.closefinch.com/v1/contacts/${id}/stakeholder-brief`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();GET /v1/deals/$ID/committee
A deal's buying committee
curl -s "https://api.closefinch.com/v1/deals/$ID/committee" \
-H "Authorization: Bearer $RA_API_KEY"const res = await fetch(`https://api.closefinch.com/v1/deals/${id}/committee`, {
method: "GET",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}` },
});
const data = await res.json();POST /v1/deals/$ID/committee/build
Build or rebuild a deal's buying committee
curl -s -X POST "https://api.closefinch.com/v1/deals/$ID/committee/build" \
-H "Authorization: Bearer $RA_API_KEY" \
-H "content-type: application/json" \
-d '{}'const res = await fetch(`https://api.closefinch.com/v1/deals/${id}/committee/build`, {
method: "POST",
headers: { authorization: `Bearer ${process.env.RA_API_KEY}`, "content-type": "application/json" },
body: JSON.stringify({}), // fields: see the OpenAPI schema
});
const data = await res.json();Request and response schemas: https://www.closefinch.com/openapi.json. All resources: API reference.