Browse the docs

Reference · 3 operations

Meetings

Meetings with their notes and insights, linked to contacts and companies.

Last updated from API version 2026-10-06 at (live spec, refreshed hourly). openapi.json

Meetings

meetings.list

List meetings, newest first, with their summary and linked accounts.

get/api/v1/meetings
Scope
read
Credits
Free
Idempotency-Key
Not used

Meetings added in the app (pasted, uploaded, imported from Granola). Cursor-paginated (meta.page). Filter by source or status; ready meetings carry notes and insights (see GET /meetings/{id}).

Parameters

  • limitqueryinteger

    Page size.

    default 50min 1max 200
  • cursorquerystring

    Opaque cursor from meta.page.nextCursor. Reusing it with other filters is 400 CURSOR_MISMATCH.

  • sourcequerystring
    pasteuploadgranolaaudio
  • statusquerystring
    pendingprocessingreadyfailed
  • sortByquerystring

    Reserved. The sort is fixed (newest first); any value is 400 UNSUPPORTED_FILTER.

  • updatedSincequerystring

    Reserved; any value is 400 UNSUPPORTED_FILTER.

Responses

200
A page of meetings.
Show schema

MeetingListResponse

Errors

400 The request is invalid (VALIDATION_ERROR, CURSOR_MISMATCH, UNSUPPORTED_FILTER) · 401 Missing, invalid, expired or revoked key · 403 Missing scope, suspended workspace or unavailable identity · 404 Unknown resource or route. A resource in another workspace is also 404 · 429 Rate limit reached · 500 Unexpected error · 503 The backend is unreachable; retry after `Retry-After`. Every error is {error: {type, code, message, requestId, docUrl}}; see error codes.

curl "https://app.owlbound.ai/api/v1/meetings" \
  -H "Authorization: Bearer $OWLBOUND_API_KEY" \
  -H "Owlbound-Version: 2026-10-06"

meetings.get

Get one meeting with its notes, insights and participants.

get/api/v1/meetings/{id}
Scope
read
Credits
Free
Idempotency-Key
Not used

Notes (summary, decisions, action items) and insights (company priorities, pains, objections, competitors, buying signals, next steps, ICP hints), each with the words it came from. The transcript itself is not returned. A meeting in another workspace is 404 NOT_FOUND.

Parameters

  • idpathstringrequired

    Opaque resource id.

Responses

200
The meeting.
Show schema

MeetingResponse

Errors

400 The request is invalid (VALIDATION_ERROR, CURSOR_MISMATCH, UNSUPPORTED_FILTER) · 401 Missing, invalid, expired or revoked key · 403 Missing scope, suspended workspace or unavailable identity · 404 Unknown resource or route. A resource in another workspace is also 404 · 429 Rate limit reached · 500 Unexpected error · 503 The backend is unreachable; retry after `Retry-After`. Every error is {error: {type, code, message, requestId, docUrl}}; see error codes.

curl "https://app.owlbound.ai/api/v1/meetings/$ID" \
  -H "Authorization: Bearer $OWLBOUND_API_KEY" \
  -H "Owlbound-Version: 2026-10-06"

Suggestions

meetings.suggestions.list

List a meeting's suggested updates.

get/api/v1/meetings/{id}/suggestions
Scope
read
Credits
Free
Idempotency-Key
Not used

Pains, objections, ICP hints, with status; audiences: those the caller may change. Apply with POST /actions/meetings/update_suggestion.

Parameters

  • idpathstringrequired

    Opaque resource id.

Responses

200
The suggestions.
Show schema

MeetingSuggestionsResponse

  • dataobjectrequired
    0
    + Show child fields
    • meetingIdstringrequired
      0
    • suggestionsarray of MeetingSuggestionrequired
      0
    • audiencesarray of objectrequired
      0
      + Show child fields
      • idstringrequired
        0
      • namestringrequired
        0
  • metaResponseMetarequired

    Metadata on every success response.

    0

Errors

400 The request is invalid (VALIDATION_ERROR, CURSOR_MISMATCH, UNSUPPORTED_FILTER) · 401 Missing, invalid, expired or revoked key · 403 Missing scope, suspended workspace or unavailable identity · 404 Unknown resource or route. A resource in another workspace is also 404 · 429 Rate limit reached · 500 Unexpected error · 503 The backend is unreachable; retry after `Retry-After`. Every error is {error: {type, code, message, requestId, docUrl}}; see error codes.

curl "https://app.owlbound.ai/api/v1/meetings/$ID/suggestions" \
  -H "Authorization: Bearer $OWLBOUND_API_KEY" \
  -H "Owlbound-Version: 2026-10-06"

Models on this page

Shared objects the operations above link to. Clients must ignore fields they do not know.

MeetingSummaryobject
  • idstringrequired
    0
  • titlestringrequired
    0
  • occurredAtnumberrequired

    Unix milliseconds.

    0
  • durationSecnumber | nullrequired
    0
  • sourcestringrequired
    pasteuploadgranolaaudio
  • statusstringrequired
    pendingprocessingreadyfailed
  • languagestring | nullrequired
    0
  • participantCountintegerrequired
    0
  • companyIdsarray of stringrequired
    0
  • contactIdsarray of stringrequired
    0
  • summarystring | nullrequired
    0
  • processedAtnumber | nullrequired
    0
  • createdAtnumberrequired
    0
  • updatedAtnumberrequired
    0
PagedResponseMetaobject

Metadata on a paginated success response.

  • requestIdstringrequired
    0
  • creditsCreditsMetarequired
    0
  • pagePageMetarequired

    Cursor pagination. hasMore is the only end signal; pages may be short.

    0
CreditsMetaobject
  • usednumberrequired

    Credits charged by this request. Reads are free.

    0
  • balancenumber
    0
  • estimatednumber

    Dry run only (action operations).

    0
  • availablenumber

    Dry run only (action operations).

    0
  • reservationIdstring | null

    Async operations only; the job settles this reservation.

    0
PageMetaobject

Cursor pagination. hasMore is the only end signal; pages may be short.

  • nextCursorstring | nullrequired
    0
  • hasMorebooleanrequired
    0
  • limitintegerrequired
    min 1max 200
Meetingobject
  • externalUrlstring | nullrequired
    0
  • participantsarray of objectrequired
    0
    + Show child fields
    • namestringrequired
      0
    • emailstring | nullrequired
      0
    • contactIdstring | nullrequired
      0
    • companyIdstring | nullrequired
      0
    • isInternalbooleanrequired
      0
  • notesobject | nullrequired
    0
    + Show child fields
    • summarystringrequired
      0
    • decisionsarray of stringrequired
      0
    • actionItemsarray of objectrequired
      0
      + Show child fields
      • textstringrequired
        0
      • ownerstring | nullrequired
        0
  • insightsobject | nullrequired
    0
    + Show child fields
  • userNotesstring | nullrequired
    0
  • transcriptCharsintegerrequired
    0
  • errorstring | nullrequired
    0
  • idstringrequired
    0
  • titlestringrequired
    0
  • occurredAtnumberrequired

    Unix milliseconds.

    0
  • durationSecnumber | nullrequired
    0
  • sourcestringrequired
    pasteuploadgranolaaudio
  • statusstringrequired
    pendingprocessingreadyfailed
  • languagestring | nullrequired
    0
  • participantCountintegerrequired
    0
  • companyIdsarray of stringrequired
    0
  • contactIdsarray of stringrequired
    0
  • summarystring | nullrequired
    0
  • processedAtnumber | nullrequired
    0
  • createdAtnumberrequired
    0
  • updatedAtnumberrequired
    0
MeetingInsightobject
  • textstringrequired
    0
  • quotestring | nullrequired

    The words from the meeting this insight comes from.

    0
  • speakerstring | nullrequired
    0
ResponseMetaobject

Metadata on every success response.

  • requestIdstringrequired
    0
  • creditsCreditsMetarequired
    0
  • Cursor pagination. hasMore is the only end signal; pages may be short.

    0
  • dryRunboolean

    True only on a dry-run response (action operations).

    0
MeetingSuggestionobject
  • keystringrequired
    0
  • kindstringrequired
    painobjectionicp_hint
  • textstringrequired
    0
  • quotestring | nullrequired
    0
  • statusstringrequired
    pendingaccepteddismissed
  • icpProfileIdstring | nullrequired

    The audience it was added to (accepted only).

    0

← All operations