> For the complete documentation index, see [llms.txt](https://docs.scaleconnect.com.au/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scaleconnect.com.au/api/rest-api/scaleai-rest-api/note-taker.md).

# Note Taker

## Summarise Endpoint

> Summarise one meeting transcript as the NOTETAKER subagent.\
> \
> Synchronous by design: the caller (scale-backend) stores the result on the\
> transcript note and raises the broker's notification. Returns 400 when the\
> transcript has no text, 502 when the model call fails.

```json
{"openapi":"3.1.0","info":{"title":"ScaleAI r16 API","version":"2.0.0"},"servers":[{"url":"https://agent-backend.r16.app"}],"security":[{"HTTPBearer":[]}],"components":{"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}},"schemas":{"SummariseRequest":{"properties":{"noteId":{"type":"string","title":"Noteid","description":"scale-backend note id the summary will be stored on"},"title":{"type":"string","title":"Title","description":"Meeting title","default":"Untitled meeting"},"segments":{"items":{"$ref":"#/components/schemas/TranscriptSegment"},"type":"array","title":"Segments","description":"Transcript segments in order"},"tag":{"type":"string","enum":["client","team","external","other"],"title":"Tag","description":"client | team | external | other","default":"other"},"clientName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clientname","description":"Resolved client name for client meetings"},"attendees":{"items":{"$ref":"#/components/schemas/Attendee"},"type":"array","title":"Attendees","description":"Calendar invitees, matched to team members where possible"},"teamId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Teamid","description":"Broker's team id (usage meter)"},"brokerUserId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokeruserid","description":"Broker's user id (usage meter)"},"environment":{"type":"string","enum":["local","dev","prod"],"title":"Environment","description":"Which scale-backend the meter posts to","default":"prod"}},"type":"object","required":["noteId","segments"],"title":"SummariseRequest","description":"Body scale-backend sends from createTranscriptNote once the media webhook lands."},"TranscriptSegment":{"properties":{"speaker":{"type":"string","title":"Speaker","description":"Speaker label as transcribed","default":"Speaker"},"start":{"type":"number","title":"Start","description":"Start offset in seconds","default":0},"end":{"type":"number","title":"End","description":"End offset in seconds","default":0},"text":{"type":"string","title":"Text","description":"What was said","default":""}},"type":"object","title":"TranscriptSegment","description":"One diarised span of the meeting, as stored on the note's transcriptSegments."},"Attendee":{"properties":{"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"userId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Userid"}},"type":"object","required":["email"],"title":"Attendee"},"SummariseResponse":{"properties":{"summary_markdown":{"type":"string","title":"Summary Markdown","description":"Recap / Decisions / Action items / Follow-ups, markdown"},"action_items":{"items":{"$ref":"#/components/schemas/ActionItem"},"type":"array","title":"Action Items"},"candidate_memories":{"items":{"$ref":"#/components/schemas/CandidateMemory"},"type":"array","title":"Candidate Memories","description":"Zero to five suggested memories; empty on any parse failure"}},"type":"object","required":["summary_markdown"],"title":"SummariseResponse"},"ActionItem":{"properties":{"text":{"type":"string","title":"Text"},"owner":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner"}},"type":"object","required":["text"],"title":"ActionItem"},"CandidateMemory":{"properties":{"kind":{"type":"string","enum":["broker","client"],"title":"Kind","description":"client = about the client in a client meeting; broker = about the broker, practice, lender or partner","default":"broker"},"text":{"type":"string","title":"Text","description":"One durable sentence; no live numbers, no action items"},"clientId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clientid","description":"Reserved: the engine does not resolve clients; the backend sets this when the meeting's client is certain"},"agentId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agentid","description":"Reserved for kind=agent; never emitted by the summariser"}},"type":"object","required":["text"],"title":"CandidateMemory","description":"One suggested memory from the meeting (KB-9). The backend writes it as\nstatus=suggested via its suggest path; the engine never confirms anything."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"paths":{"/notetaker/summarise":{"post":{"tags":["NoteTaker"],"summary":"Summarise Endpoint","description":"Summarise one meeting transcript as the NOTETAKER subagent.\n\nSynchronous by design: the caller (scale-backend) stores the result on the\ntranscript note and raises the broker's notification. Returns 400 when the\ntranscript has no text, 502 when the model call fails.","operationId":"summarise_endpoint_notetaker_summarise_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummariseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummariseResponse"}}}},"400":{"description":"Transcript has no text","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}},"required":["detail"]}}}},"401":{"description":"Missing or invalid bearer token","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}},"required":["detail"]}}}},"403":{"description":"Service token required","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}},"required":["detail"]}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"502":{"description":"Summary model call failed","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}},"required":["detail"]}}}},"503":{"description":"AI features temporarily disabled","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string"}},"required":["detail"]}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.scaleconnect.com.au/api/rest-api/scaleai-rest-api/note-taker.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
