Skip to content
BrainVault
Log inCreate a free workspace

DEVELOPERS

BrainVault API

Connect BrainVault to the rest of your tools. The API reads and adds ideas and comments in one workspace, and sends events the moment they happen. It is what the BrainVault app for Zapier uses; with Zapier you can connect thousands of apps without writing code.

Authentication

Every request needs a workspace API key. A workspace administrator creates one in BrainVault under Settings → Integrations → Zapier → Create API key. The key is shown once; it can be revoked there at any time, which also removes its hook subscriptions. API keys are available on the Business and Enterprise plans.

Send the key as a bearer token (or in an X-API-Key header):

curl https://brainvault.thegrowthsystem.co.za/api/v1/me \ -H "Authorization: Bearer bv_live_…"

Base address: https://brainvault.thegrowthsystem.co.za/api/v1. Requests and responses are JSON (send Content-Type: application/json). All times are ISO 8601 in UTC. A key only ever sees its own workspace.

Endpoints

GET/me

The workspace the API key belongs to. Use it to check a key.

Returns 200 with { "workspace": { "id", "name" } }.

GET/ideas

Recent ideas in the workspace, newest first. Drafts are never included.

QueryMeaning
limitOptional. 1 to 100; default 25.

Returns 200 with an array of ideas.

{ "id": "8a1f2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d", "title": "Solar pre-heating for the staff canteen", "problem": "The canteen's water heaters run all morning on grid power.", "solution": "Pre-heat the water with rooftop solar collectors.", "who_benefits": "Facilities and the canteen team", "status": "active", "stage": "Evaluation", "stage_key": "evaluation", "department": "Facilities", "author": "Thandi Mokoena", "score": 7.4, "created_at": "2026-11-11T08:30:00.000Z", "url": "https://brainvault.thegrowthsystem.co.za/ideas/8a1f2c3d-…" }

POST/ideas

Submits a new idea. It is submitted in the name of the administrator who created the key, starts in the first stage of the pipeline and counts towards the plan's active-idea limit.

FieldMeaning
titleRequired. Up to 200 characters.
problemOptional. The problem or opportunity.
solutionOptional. The idea itself.
who_benefitsOptional.
departmentOptional. Up to 120 characters.

Returns 201 with the new idea. 422 if the title is missing; 403 if the plan's idea limit is reached.

GET/ideas/{id}

One idea.

Returns 200 with the idea, or 404 if it isn't in this workspace.

POST/ideas/{id}/comments

Adds a comment to an idea, in the name of the administrator who created the key. People following the idea are notified.

FieldMeaning
bodyRequired. The comment, up to 5,000 characters.

Returns 201 with { "id", "idea_id", "body", "created_at" }.

POST/hooks

Subscribes a Zapier hook address to an event. BrainVault then posts each matching event to it as it happens. Only Zapier hook addresses (https://hooks.zapier.com/…) are accepted.

FieldMeaning
eventRequired. One of the events below.
target_urlRequired. The Zapier hook address.

Returns 201 with { "id", "event", "target_url" }. At most 200 subscriptions per key.

DELETE/hooks/{id}

Removes a subscription made with this key.

Returns 204.

GET/samples

Up to three recent real examples of an event, in exactly the shape the hook sends.

QueryMeaning
eventRequired. One of the events below.

Returns 200 with an array of events.

{ "id": "idea.moved:8a1f2c3d-…:2026-11-11T09:00:00.000Z", "event": "idea.moved", "occurred_at": "2026-11-11T09:00:00.000Z", "to_stage": "Evaluation", "idea": { …an idea, as above… } }

Events

Each event is posted as JSON to every subscribed hook address, with the idea attached. The id is unique per event, so a receiver can ignore repeats. If a hook address answers 410 Gone, BrainVault removes that subscription. Anonymous ideas are sent without an author.

EventWhen
idea.createdSomeone submits an idea.
idea.movedAn idea moves to another stage. Includes to_stage.
decision.recordedThe innovation council records a decision. Includes decision: approved, on_hold, needs_info or rejected.
evaluation.submittedSomeone submits an evaluation of an idea.
idea.completedAn idea is marked as completed.

Errors

Errors come back as { "error": "…" } with a plain-language message.

StatusMeaning
401The API key is missing, wrong or revoked.
403The workspace's plan doesn't allow this (for example, the idea limit).
404No such idea in this workspace.
422Something in the request is missing or invalid; the message says what.
429Too many hook subscriptions for this key.

Help

Questions or problems: see Support. How BrainVault looks after your data is set out in the privacy policy and security overview.

Turn your team’s ideas
into realised value.

Start with a free workspace and explore the full Business platform for 14 days.

Create a free workspace Book a walkthrough