Skip to content

Account

Every path is relative to https://app.lobbe.ai/api/v1, and every request sends Authorization: Bearer $LOBBE_TOKEN. The API reference lists every route and explains the x-lobbe-* fields.

The account: who owns it, its wallet balance in minutes, and its settings.

Property Value
Scopes account:read
Spends minutes No
Rate limit read: 600 requests per 10 minutes per token
Success 200

The account the token acts for: its owner, balance and settings; never its phone number or email address.

Field Type Always present Description
schemaVersion 1 Yes Always 1 within API v1
owner object Yes Who the token acts for: the account’s owner
owner.type "user" Yes The owner’s kind: user today; ignore a type you don’t know
owner.id string Yes The owner’s account id
owner.displayName string | null Yes The owner’s name; null when none was set (a phone number is never sent)
wallet object Yes The account’s balance
wallet.balanceMinutes integer Yes The balance in minutes; a meeting not yet transcribed is not taken out of it yet, and a first meeting over the balance can leave it below 0
settings object Yes The account’s settings a token can see; updateAccountSettings changes the first three
settings.speakerNamingMode "AUTO" | "FORCE_ON" | "FORCE_OFF" Yes How a new meeting waits for its speakers’ names: FORCE_ON (“Ask”) holds it at NAMING until they are named or skipped, or its naming.deadline passes; AUTO (“Ask, but don’t wait”) holds it a short while, then goes on; FORCE_OFF (“Auto-guess”) never holds it, and Lobbe guesses the names where it can
settings.memoryLearningEnabled boolean Yes Whether Lobbe learns new notes into its memory from each new meeting (the app’s “Learn from new meetings”); false stops the learning only, and the notes already kept are still used
settings.summaryEmailEnabled boolean Yes Whether each new Lobbe is emailed to the owner with its PDF (the app’s “Email me after each meeting”); a Lobbe made again is not sent again, and nothing is sent while the account has no email address (only the app can set one)
settings.uiLocale "en" | "fa" Yes The app’s language for the account, en or fa: set in the app, never through a token

Errors answer { error: { code, message, details? } }, and code is the contract: see Errors.

The account’s vocabulary: words transcription should recognize.

Property Value
Scopes account:read
Spends minutes No
Rate limit read: 600 requests per 10 minutes per token
Success 200

The account’s vocabulary (the app’s “My vocabulary”).

Field Type Always present Description
schemaVersion 1 Yes Always 1 within API v1
keyterms[] string[] Yes The terms transcription should recognize, in their saved order (at most 100). A meeting transcribed with vocabulary uses them when it is in no series, and after the series’ own terms when its series has inheritAccountKeyterms: true; a meeting in a series without it never uses them

Errors answer { error: { code, message, details? } }, and code is the contract: see Errors.

Replace the account’s vocabulary; a meeting that uses vocabulary carries its surcharge.

Property Value
Scopes account:write
Spends minutes No
Rate limit settings: 60 requests per 10 minutes per token
Success 200

The account’s whole vocabulary, replacing the old one. A meeting keeps the words it was submitted with, and a meeting that uses any costs 20% more. A field not listed here is a 400.

Field Type Required Description
keyterms[] string[] Yes The whole new list. Each term is trimmed and its runs of spaces collapse to one; then at most 100 terms, each 1–49 characters and at most 5 words, none containing <, >, {, }, [, ] or \, and no term twice. A list that breaks a rule is a 400 whose message names the first problem

The account’s vocabulary (the app’s “My vocabulary”).

Field Type Always present Description
schemaVersion 1 Yes Always 1 within API v1
keyterms[] string[] Yes The terms transcription should recognize, in their saved order (at most 100). A meeting transcribed with vocabulary uses them when it is in no series, and after the series’ own terms when its series has inheritAccountKeyterms: true; a meeting in a series without it never uses them

Errors answer { error: { code, message, details? } }, and code is the contract: see Errors.

What Lobbe remembers about the account’s owner, as the settings screen lists it.

Property Value
Scopes account:read
Spends minutes No
Rate limit read: 600 requests per 10 minutes per token
Success 200

What Lobbe remembers about the owner to make each Lobbe more accurate, as the app’s “Lobbe’s memory” lists it.

Field Type Always present Description
schemaVersion 1 Yes Always 1 within API v1
memoryEnabled boolean Yes Whether memory is switched on for Lobbe; while false, items is empty and editing or deleting a note answers 409 MEMORY_DISABLED
items[] object[] Yes The notes. One memory note
items[].id string Yes The note’s id, as updateMemoryItem and deleteMemoryItem take it
items[].category "ABOUT_YOU" | "PEOPLE" | "TERMS" Yes The section it is in: ABOUT_YOU (“About you”), PEOPLE (“People you meet with”) or TERMS (“Your terminology”)
items[].text string Yes The note itself
items[].meetingCount integer Yes How many meetings it was learned from
items[].pinned boolean Yes true once the owner edited it: from then on Lobbe never rewrites or removes it

Errors answer { error: { code, message, details? } }, and code is the contract: see Errors.

Change speaker naming, memory learning or the summary email; nothing else.

Property Value
Scopes account:write
Spends minutes No
Rate limit settings: 60 requests per 10 minutes per token
Success 200

The settings to change, at least one: a field you leave out keeps its value, and any other field is a 400 with nothing written. Send at least one field; an empty body is a 400. A field not listed here is a 400.

Field Type Required Description
speakerNamingMode "AUTO" | "FORCE_ON" | "FORCE_OFF" No How a new meeting waits for its speakers’ names: FORCE_ON (“Ask”) holds it at NAMING until they are named or skipped, or its naming.deadline passes; AUTO (“Ask, but don’t wait”) holds it a short while, then goes on; FORCE_OFF (“Auto-guess”) never holds it, and Lobbe guesses the names where it can
memoryLearningEnabled boolean No Whether Lobbe learns new notes into its memory from each new meeting (the app’s “Learn from new meetings”); false stops the learning only, and the notes already kept are still used
summaryEmailEnabled boolean No Whether each new Lobbe is emailed to the owner with its PDF (the app’s “Email me after each meeting”); a Lobbe made again is not sent again, and nothing is sent while the account has no email address (only the app can set one)

The account the token acts for: its owner, balance and settings; never its phone number or email address.

Field Type Always present Description
schemaVersion 1 Yes Always 1 within API v1
owner object Yes Who the token acts for: the account’s owner
owner.type "user" Yes The owner’s kind: user today; ignore a type you don’t know
owner.id string Yes The owner’s account id
owner.displayName string | null Yes The owner’s name; null when none was set (a phone number is never sent)
wallet object Yes The account’s balance
wallet.balanceMinutes integer Yes The balance in minutes; a meeting not yet transcribed is not taken out of it yet, and a first meeting over the balance can leave it below 0
settings object Yes The account’s settings a token can see; updateAccountSettings changes the first three
settings.speakerNamingMode "AUTO" | "FORCE_ON" | "FORCE_OFF" Yes How a new meeting waits for its speakers’ names: FORCE_ON (“Ask”) holds it at NAMING until they are named or skipped, or its naming.deadline passes; AUTO (“Ask, but don’t wait”) holds it a short while, then goes on; FORCE_OFF (“Auto-guess”) never holds it, and Lobbe guesses the names where it can
settings.memoryLearningEnabled boolean Yes Whether Lobbe learns new notes into its memory from each new meeting (the app’s “Learn from new meetings”); false stops the learning only, and the notes already kept are still used
settings.summaryEmailEnabled boolean Yes Whether each new Lobbe is emailed to the owner with its PDF (the app’s “Email me after each meeting”); a Lobbe made again is not sent again, and nothing is sent while the account has no email address (only the app can set one)
settings.uiLocale "en" | "fa" Yes The app’s language for the account, en or fa: set in the app, never through a token

Errors answer { error: { code, message, details? } }, and code is the contract: see Errors.

Rewrite one memory item; an edited item is kept as you wrote it.

Property Value
Scopes account:write
Spends minutes No
Rate limit settings: 60 requests per 10 minutes per token
Success 200
Name In Type Required Description
id path string Yes The memory item’s id

The note’s new text; the note is then pinned, kept as you wrote it. A field not listed here is a 400.

Field Type Required Description
text string Yes The new text, trimmed: at least 1 character and at most the app’s limit for a note (never more than 1000); longer is a 400, and the text of another note in the same section is 409 MEMORY_DUPLICATE

The note as it now reads.

Field Type Always present Description
schemaVersion 1 Yes Always 1 within API v1
item object Yes One memory note
item.id string Yes The note’s id, as updateMemoryItem and deleteMemoryItem take it
item.category "ABOUT_YOU" | "PEOPLE" | "TERMS" Yes The section it is in: ABOUT_YOU (“About you”), PEOPLE (“People you meet with”) or TERMS (“Your terminology”)
item.text string Yes The note itself
item.meetingCount integer Yes How many meetings it was learned from
item.pinned boolean Yes true once the owner edited it: from then on Lobbe never rewrites or removes it

Errors answer { error: { code, message, details? } }, and code is the contract: see Errors.

Delete one memory item.

Property Value
Scopes account:write
Spends minutes No
Rate limit settings: 60 requests per 10 minutes per token
Success 200
Name In Type Required Description
id path string Yes The memory item’s id

The note is gone for good; a later meeting may teach it again.

Field Type Always present Description
schemaVersion 1 Yes Always 1 within API v1
id string Yes The deleted note’s id
deleted true Yes Always true

Errors answer { error: { code, message, details? } }, and code is the contract: see Errors.