Objects
Everything the API accepts or returns.
Language
Language of the generated note. English only in v1; the field is required now so that adding languages later is additive rather than breaking.
One of:
en
NoteFormat
Structure of the generated note. SOAP only in v1; required now for the same reason as language.
One of:
soap
ConnectionStatus
Whether this practice can currently generate notes. inactive means the subscription has lapsed or was never completed.
One of:
activeinactive
Connection
vet_namestringrequired
The connected vet's name on WisePaws, for showing who is connected. Empty when they have not set one, so fall back to practice_name rather than rendering a blank.
Example: "Eleanor Hartley"
practice_namestringrequired
The practice the notes belong to and that holds the subscription. Worth showing: it is how a vet spots they connected the wrong account.
Example: "Neighbourhood Vet"
statusConnectionStatusrequired
One of: active, inactive.
ConnectionGrant
vet_namestringrequired
The connected vet's name on WisePaws, for showing who is connected. Empty when they have not set one, so fall back to practice_name rather than rendering a blank.
Example: "Eleanor Hartley"
practice_namestringrequired
The practice the notes belong to and that holds the subscription. Worth showing: it is how a vet spots they connected the wrong account.
Example: "Neighbourhood Vet"
statusConnectionStatusrequired
One of: active, inactive.
connection_tokenstringrequired
Store against your own user and site, and treat it like a password. It is shown once, here, and cannot be retrieved again; reconnect to replace a lost one. Reconnecting for the same practice replaces that practice's token and leaves the vet's others working.
Example: "wp_conn_9Qb4Ht2LxR7vKmA1"
SectionKey
Stable identifier for a note section. Map your destination fields on this. Never map on array position: the order is stable today but is not part of the contract.
One of:
subjectiveobjectiveassessmentplan
NoteSection
keySectionKeyrequired
One of: subjective, objective, assessment, plan.
headingstringrequired
Display label. May be reworded without a version change, so treat it as text to show the vet rather than as a key.
Example: "Subjective"
contentstringrequired
The generated text. Plain text with paragraph breaks; no markup.
NoteStatus
processing until transcription and generation finish. On failed, read error.code: the remedy differs by how far the consult got, and one of those codes usually still leaves you a usable transcript.
Never ask a vet to re-record a consult that is over.
One of:
processingreadyfailed
NoteWarning
Non-fatal. The note was generated; this tells the vet what to check before filing.
audio_coverage_below_threshold: the audio that reached us was materially shorter than the captured_seconds you reported, so part of the consult was lost in transit. We build the note anyway, because a retry cannot recover audio that was never delivered, but the vet should know the record may be incomplete. Show this one.
Only computed when you send captured_seconds.
One of:
audio_coverage_below_threshold
Note
note_idstringrequired
Example: "7c1e0a44-9b2f-4de6-8a31-5f0c2d9e7b18"
statusNoteStatusrequired
One of: processing, ready, failed.
external_refstring
Whatever you sent on submission, unchanged. Absent if you sent none.
Example: "acme_consult_44192"
created_atstring (date-time)required
When the recording was accepted, not when generation finished.
duration_secondsinteger
Measured length of the audio we received. May be shorter than what your client believed it captured; see warnings. Present once ready.
Example: 276
sectionsarray of NoteSection
The clinical note. Present once ready.
transcriptstring
Full consult transcript with speakers resolved to clinical roles, each phrase in the language it was spoken in. Show it alongside the note: it is how a vet traces an unexpected line back to what was actually said.
Present whenever the transcript was stored, usually including when status is failed with note_generation_failed. A consult cannot be re-recorded, so a failed note that still carries its transcript lets the vet write the record themselves rather than lose the consultation. Check for it before telling anyone the consult is gone.
warningsarray of NoteWarning
Empty when nothing needs flagging.
errorError
Why the consult failed. Present only when status is failed, and not always even then: a note we lose track of entirely is swept to failed without a stage to name. Treat a missing error as unrecoverable, the same as transcription_failed.
NoteAccepted
note_idstringrequired
The Idempotency-Key you sent, echoed back. Poll GET /v1/notes/{note_id} with it.
Example: "7c1e0a44-9b2f-4de6-8a31-5f0c2d9e7b18"
statusprocessingrequired
external_refstring
Example: "acme_consult_44192"
Outcome
filed means saved to the patient record, edited or not. discarded means rejected; the vet wrote the note themselves or abandoned it.
One of:
fileddiscarded
NoteOutcomeRequest
outcomeOutcomerequired
One of: filed, discarded.
sectionsarray of FiledSection
The text as the vet actually filed it. Send on filed whenever you have it: the difference between this and what we generated is the only measure of accuracy either of us gets. Omit on discarded; sections sent with a discard are ignored.
On filed, every section must carry both fields and a distinct SectionKey; anything else is a 400 for the whole request. We would rather refuse the report than store half of it under an outcome that claims to be the filed note. On discarded they are not interpreted. Send content: "" for a section the vet deleted: that is data, and it is not the same as leaving the field out.
FiledSection
keySectionKeyrequired
One of: subjective, objective, assessment, plan.
contentstringrequired
The section text exactly as the vet filed it.
NoteOutcomeRecorded
note_idstringrequired
Example: "7c1e0a44-9b2f-4de6-8a31-5f0c2d9e7b18"
external_refstring
Example: "acme_consult_44192"
outcomeOutcomerequired
One of: filed, discarded.
recorded_atstring (date-time)required
MappingSession
tokenstringrequired
Bearer token for the mapping service, safe to hand to the browser. Carries the vet, the practice and their role; it grants nothing else.
expires_inintegerrequired
Seconds until the token expires, from the moment it was issued.
Example: 900