List the organization's contact records
Every record this organization has, newest first. Records are org-scoped and unowned — every member sees all of them regardless of who added them. Optionally scope to a parent district or school, or look one up by corpus contact id.
Every record this organization has, newest first. Records are org-scoped and unowned — every member sees all of them regardless of who added them. Optionally scope to a parent district or school, or look one up by corpus contact id.
API key (sk_live_... prefix). Generate keys in the UI under Settings > API Keys, then send it as Authorization: Bearer sk_live_...
In: header
Query Parameters
Only records whose parent is this district
uuidOnly records whose parent is this school
uuidThe record overlaying this corpus contact, if any
uuidResponse Body
application/json
application/json
curl -X GET "https://loading/api/v1/org-contacts"{
"data": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
"contact_id": "f245e2a3-e141-4d41-912c-b1c1f5bd5598",
"name": "string",
"district_id": "880bc4ee-477a-4e12-a0f0-c89f020ba05d",
"school_id": "c1317ebe-519d-4c8a-9ab1-7bfd15017c1c",
"notes": "string",
"tags": [
"string"
],
"added_at": "string",
"added_via": "reveal",
"added_by": "6f5851d8-8a63-4597-95ec-4f964b8e7696",
"overrides": {
"property1": "string",
"property2": "string"
},
"overridden_at": {
"property1": "string",
"property2": "string"
},
"promoted_from_brief_id": "7d555af3-e03f-40b9-9ba9-f70a244e4343",
"promoted_person_key": "string"
}
]
}{
"error": "string",
"message": "string",
"statusCode": -9007199254740991
}Start an on-demand prospecting run POST
"Find me more opportunities" — kicks off one agent research run for a project the caller owns. Results land in the opportunities feed as they are verified (typically 30-45 minutes). Requires completed project onboarding.
Add a contact record POST
Track a person. Pass `contact_id` to overlay a corpus contact (idempotent — returns 200 with the existing record rather than duplicating it), or a `name` plus parent entity for someone Bellwork has never seen. There is no bulk import by design: a record means somebody took an interest.