Skip to content

Summaries GraphQL Schema

Schema Types

Welcome to the VideoTaxi Summaries GraphQL API documentation.

Query

Field Argument Type Description
summary SummaryWithVersion

Get a summary with a specific version

id UUID!
versionNumber Int!
summaries PaginatedSummariesResponse!

Get summaries with pagination and filtering

filter SummaryFilter
pagination PaginationInput
search String
me User

Get the current user’s basic information

userProfile UserProfile

Get the current user’s full profile including settings

userSettings [UserSetting!]!

Get specific user settings

userSetting UserSetting

Get a specific user setting by key

key String!
myStatistics MyStatisticsResult!
filter MyStatisticsFilter!
summaryTypes [SummaryType!]!

Get all available summary types.

adminUsers [User!]!
adminSummaryCountForUser Int!
userId UUID!
adminSummaries PaginatedSummariesResponse!
search String
filter AdminSummaryFilter
pagination PaginationInput
adminStatistics AdminStatisticsResult!
filter AdminStatisticsFilter
adminStatisticsLatest AdminStatisticsLatestResult!
filter AdminStatisticsLatestFilter!
adminDebugSummary JSON!
summaryId UUID!
adminOrgStatistics AdminOrgStatisticsResult!
filter AdminOrgStatisticsFilter
organizations [Organization!]!

List organizations for the current user

organization Organization

Get a specific organization by ID (only if the user is a member)

organizationId UUID!
organizationMembers [OrganizationMember!]!

List members of an organization with optional filter/paging

organizationId UUID!
filter OrganizationMembersFilter
vocabularies [Vocabulary!]!
filter VocabularyFilterInput
vocabulary Vocabulary
id UUID!
previewVocabularyMerge VocabularyMergePreview!
input PreviewVocabularyMergeInput!
apiTokens [ApiToken!]!

List all API tokens for the current user

apiToken ApiToken

Get a specific API token by ID (only returns metadata, not the actual token)

tokenId String!
activeAnnouncement Announcement

Returns the single currently active announcement chosen for the banner, or null if none.

announcements [Announcement!]!

Returns announcements for the bell/admin lists (server-ordered). Supports optional filtering and cursor-based paging.

filter AnnouncementsFilterInput
paging PagingInput

Mutation

Field Argument Type Description
updateSummary Summary
id UUID!
input UpdateSummaryInput!
deleteSummary Boolean!
id UUID!
deleteVersion Boolean!
id UUID!
versionNumber Int!
updateSummaryStatus Boolean!
id UUID!
status SummaryStatus!
errorMessage String
generateUploadUrl PresignedUploadUrl!
input GenerateUploadUrlInput!
completeUpload UploadCompletionResponse!
input CompleteUploadInput!
createSummaryAsync CreateSummaryResponse!
summary CreateSummaryInput!
updateTranscript Boolean!
update UpdateTranscriptionInput!
startSummarizing Boolean!
summaryId UUID!
versionNumber Int!
agendaAssignments [AgendaAssignmentInput!]
overrideTemplate Boolean!
emptyTops Boolean!
createSummaryVersion CreateSummaryVersionResponse!
input CreateSummaryVersionInput!
createSummaryFromTranscript CreateSummaryResponse!
input CreateSummaryInitInput!
sentences [UpdateTranscriptionSentence!]!
createSummaryFromVtt CreateSummaryResponse!
input CreateSummaryInitInput!
vtt String!
changeSummaryVersionType Boolean!
summaryId UUID!
versionNumber Int!
newSummaryTypeId Int!
updateVersionCurrent Boolean!
summaryId UUID!
versionNumber Int!
isCurrent Boolean!
updateUserSettings [UserSetting!]!

Update user settings (batch operation)

input UpdateUserSettingsInput!
updateSummaryType SummaryType!
update AdminUpdateSummaryType!
createSummaryType SummaryType!
label String!
templateId String!
description String!
sortOrder Int!
metadata JSON
deleteSummaryType Boolean!
id Int!
rerunSpeakerPrediction Boolean!
summaryId UUID!
versionNumber Int!
setDefault Boolean!
createOrganization Organization!

Create a new organization (DB + Keycloak structure, add creator as admin)

name String
inviteOrganizationMember OrganizationMember!

Invite a member to an organization

organizationId UUID!
email String!
role OrganizationRole!
resendOrganizationMemberInvite Boolean!

Resend an organization member invite

organizationId UUID!
userId UUID!
invitationTimeoutSeconds Int
removeOrganizationMember Boolean!

Remove a member from an organization

organizationId UUID!
userId UUID!
updateOrganizationMemberRole OrganizationMember!

Update a member’s role within an organization

organizationId UUID!
userId UUID!
role OrganizationRole!
leaveOrganization Boolean!

Current user leaves an organization

organizationId UUID!
updateOrganization Organization!

Update organization metadata (name)

organizationId UUID!
name String
createVocabulary Vocabulary!
name String!
scope VocabularyScope!
organizationId UUID
updateVocabularyMetadata Vocabulary!
id UUID!
name String!
replaceVocabularyEntries Vocabulary!
input ReplaceVocabularyEntriesInput!
deleteVocabulary Boolean!
id UUID!
moveVocabularyToOrganization Vocabulary!
id UUID!
organizationId UUID!
moveVocabularyToPersonal Vocabulary!
id UUID!
importVocabularyCsv Vocabulary!
input ImportVocabularyCSVInput!
file String!
exportVocabularyCsv String!
vocabularyId UUID!
createApiToken CreateApiTokenResult!

Create a new API token for the current user

name String
updateApiToken ApiToken!

Update an API token’s name

tokenId UUID!
name String!
activateApiToken ApiToken!

Activate an API token

tokenId UUID!
deactivateApiToken ApiToken!

Deactivate an API token

tokenId UUID!
deleteApiToken Boolean!

Delete an API token

tokenId UUID!
createAnnouncement Announcement!

Admin: Create an announcement from local times + IANA timezone.

input AdminCreateAnnouncement!
updateAnnouncement Announcement!

Admin: Update an announcement. Supports partial updates and local time changes.

id UUID!
input AdminUpdateAnnouncement!
deleteAnnouncement Boolean!

Admin: Delete an announcement. Returns true if a row was deleted.

id UUID!

Objects

AdminOrgStatisticsOrganizationGroup

Field Argument Type Description
organizationId UUID!
events [UsageEvent!]!
organization Organization!

AdminOrgStatisticsResult

Field Argument Type Description
organizationGroups [AdminOrgStatisticsOrganizationGroup!]!
userGroups [AdminOrgStatisticsUserGroup!]!

AdminOrgStatisticsUserGroup

Field Argument Type Description
userId UUID!
events [UsageEvent!]!
user User!

AdminStatisticsLatestResult

Field Argument Type Description
events [UsageEvent!]!

AdminStatisticsResult

Field Argument Type Description
groups [AdminStatisticsUserGroup!]!

AdminStatisticsUserGroup

Field Argument Type Description
userId UUID!
events [UsageEvent!]!

AgendaAssignment

Field Argument Type Description
title String!
startMs Int!
sentenceId String!

Announcement

Field Argument Type Description
id UUID!
title String
html String!
hidden Boolean!
startAtUtc DateTime!
endAtUtc DateTime!
sourceTimezone String
createdByUserId UUID!
updatedByUserId UUID!
createdAt DateTime!
updatedAt DateTime!
isActive Boolean!
createdBy User!
updatedBy User!

ApiToken

Field Argument Type Description
id String!
name String
prefix String!
isActive Boolean!
createdAt DateTime!
lastUsedAt DateTime

Context

Field Argument Type Description
templateVariableName String!
value String!
createdAt DateTime!
step String!

CreateApiTokenResult

Field Argument Type Description
token ApiToken!
tokenValue String!

CreateSummaryResponse

Field Argument Type Description
summaryId UUID!
versionNumber Int!

CreateSummaryVersionResponse

Field Argument Type Description
summaryId UUID!
versionNumber Int!

MyLengthBucket

Field Argument Type Description
bucket String!
count Int!

MyStatisticsResult

Field Argument Type Description
totals MyUsageTotals
series MyUsageSeries
status MyUsageStatus
breakdowns MyUsageBreakdowns

MyStepTimes

Field Argument Type Description
uploadToTranscriptMinutes Float
transcriptToSpeakerMinutes Float
speakerToSummaryStartMinutes Float
summarizationDurationMinutes Float

MySummaryTypeBucket

Field Argument Type Description
label String!
count Int!

MyUsageBreakdowns

Field Argument Type Description
bySummaryType [MySummaryTypeBucket!]!
byLengthBucket [MyLengthBucket!]!
stepTimes MyStepTimes!
revisionRate Float

MyUsagePoint

Field Argument Type Description
periodStart DateTime!
filesUploaded Int!
hoursAudioTranscribed Float!
summariesReady Int!

MyUsageSeries

Field Argument Type Description
byPeriod [MyUsagePoint!]!

MyUsageStatus

Field Argument Type Description
inProgressCount Int!
completedCount Int!
needsAttentionCount Int!

MyUsageTotals

Field Argument Type Description
filesUploaded Int!
hoursAudioTranscribed Float!
summariesReady Int!
avgTurnaroundMinutes Float
successRate Float
timeSavedHours Float!

Organization

Field Argument Type Description
id UUID!
name String
kcGroupId String
createdByUserId UUID
createdAt DateTime!

OrganizationMember

Field Argument Type Description
organizationId UUID!
userId UUID!
role OrganizationRole!
createdAt DateTime!
user User!

PaginatedSummariesResponse

Field Argument Type Description
summaries [SummaryWithVersion!]!
totalCount Int!
hasNextPage Boolean!

PresignedUploadUrl

Field Argument Type Description
uploadUrl String!
id UUID!
expiresInSeconds Int!
uploadId String!

Speaker

Field Argument Type Description
id UUID!
firstName String!
lastName String!
comment String

SpeakerPrediction

Field Argument Type Description
speakerId String!
name String!
confidence Float!
reason String

SpeakerPredictionGroup

Field Argument Type Description
speakerKey String!
predictions [SpeakerPrediction!]!

Summary

Field Argument Type Description
id UUID!
summaryTypeId Int!
organizationId UUID
status SummaryStatus!
createdByUserId UUID!
language String!
lengthMs Int
audioPath String
originalFilePath String!
transcriptPath String
title String!
createdAt DateTime!
draftFinalizedAt DateTime
demuxedAt DateTime
deletedAt DateTime
transcribedAt DateTime
speakerPredictedAt DateTime
failedAt DateTime
errorMessage String
organization Organization
summaryType SummaryType!

SummaryResult

Field Argument Type Description
taskId UUID!
messageType String!
summaryDocx String
error String
data [JSONObject!]

SummaryType

Field Argument Type Description
id Int!
label String!
templateId String!
description String!
metadata JSON
sortOrder Int!
disabledAt DateTime
createdAt DateTime!
updatedAt DateTime!

SummaryVersion

Field Argument Type Description
summaryId UUID!
summaryTypeId Int
versionNumber Int!
status SummaryVersionStatus!
createdAt DateTime!
updatedAt DateTime!
completedAt DateTime
errorMessage String
isCurrent Boolean!
summaryType SummaryType!

SummaryWithVersion

Field Argument Type Description
id UUID!
organizationId UUID
createdByUserId UUID!
title String!
language String!
status SummaryStatus!
summaryTypeId Int!
lengthMs Int
errorMessage String
createdAt DateTime!
draftFinalizedAt DateTime
demuxedAt DateTime
deletedAt DateTime
transcribedAt DateTime
speakerPredictedAt DateTime
failedAt DateTime
version SummaryVersion!
speaker [Speaker!]
transcriptResult TranscriptionResult
summaryResult SummaryResult
videoUrl VideoUrl!
availableVersions [SummaryVersion!]!
summaryType SummaryType!
createdByUser User!
organization Organization
context [Context!]

TranscriptionResult

Field Argument Type Description
summaryId UUID!
versionNumber Int!
sentences [TranscriptionSentence!]!
speakerPredictions [SpeakerPredictionGroup!]
agendaAssignments [AgendaAssignment!]!

TranscriptionSentence

Field Argument Type Description
text String!
startMs Int!
endMs Int!
speakerId String!

UploadCompletionResponse

Field Argument Type Description
success Boolean!
summaryId UUID
message String!

UsageEvent

Field Argument Type Description
id UUID!
userId UUID!
summaryId UUID
versionNumber Int
provider UsageProvider!
eventType UsageEventType!
externalJobId String
language String
metrics JSON!
status UsageStatus!
startedAt DateTime!
completedAt DateTime
createdAt DateTime!

User

Field Argument Type Description
id UUID!
username String!
email String!
createdAt DateTime!
lastLogin DateTime
invitedAt DateTime

UserProfile

Field Argument Type Description
id UUID!
username String!
email String!
settings [UserSetting!]!
summaryCount Int!
createdAt DateTime!
lastLogin DateTime

UserSetting

Field Argument Type Description
id UUID!
userId UUID!
isActive Boolean!
settingKey String!
settingValue String!
settingType SettingType!
createdAt DateTime!
updatedAt DateTime!

VideoUrl

Field Argument Type Description
url String!
id UUID!
expiresInSeconds Int!

Vocabulary

Field Argument Type Description
id UUID!
name String!
scope VocabularyScope!
organizationId UUID

Nullable organization (if scope == ORGANIZATION)

createdByUserId UUID!
entries [VocabularyEntry!]!
itemCount Int!
lastUsedAt DateTime
createdAt DateTime!
updatedAt DateTime!
organization Organization
createdByUser User!

VocabularyEntry

Field Argument Type Description
content String!
soundsLike [String!]

VocabularyMergePreview

Field Argument Type Description
vocabularyEntries [VocabularyEntry!]!

Combined vocabulary entries in order after merging selected vocabularies (internal dedupe within them)

speakerEntries JSON!

Speaker name entries (pre overall dedupe)

finalEffectiveEntries [VocabularyEntry!]!

Final effective entries after merging + dedupe + cap

finalCount Int!
droppedCount Int!

Inputs

AdditionalFieldInput

Field Type Description
templateVariableName String!
value String!
step String!

AdminCreateAnnouncement

Field Type Description
title String
html String!
hidden Boolean
startAtLocal DateTime!
endAtLocal DateTime!
sourceTimezone String!

AdminOrgStatisticsFilter

Field Type Description
createdFrom DateTime
createdTo DateTime
organizationIds [UUID!]
userIds [UUID!]
includeWithoutOrganization Boolean

AdminStatisticsFilter

Field Type Description
userIds [UUID!]
createdFrom DateTime
createdTo DateTime
limit Int

AdminStatisticsLatestFilter

Field Type Description
limit Int

AdminSummaryFilter

Field Type Description
status SummaryStatus
search String
versionStatus SummaryVersionStatus
summaryTypeId Int
language String
userName String

AdminUpdateAnnouncement

Field Type Description
title String
html String
hidden Boolean
startAtLocal DateTime
endAtLocal DateTime
sourceTimezone String

AdminUpdateSummaryType

Field Type Description
id Int!
label String
templateId String
description String
sortOrder Int
disabled Boolean
metadata JSON

AgendaAssignmentInput

Field Type Description
title String!
startMs Int!
sentenceId String!

AnnouncementsFilterInput

Field Type Description
includeHidden Boolean
activeOnly Boolean
rangeFromUtc DateTime
rangeToUtc DateTime

CompleteUploadInput

Field Type Description
id UUID!
uploadId String!
originalFilename String!
language String!

CreateSummaryInitInput

Field Type Description
language String!
summaryTypeId Int!
title String!
speakerList [SpeakerInput!]
speakerListTxt String
additionalFields [AdditionalFieldInput!]
organizationId UUID
vocabularyIds [UUID!]
autostart Boolean

CreateSummaryInput

Field Type Description
id UUID!
language String!
originalFilePath String!
summaryTypeId Int!
title String!
speakerList [SpeakerInput!]
speakerListTxt String
additionalFields [AdditionalFieldInput!]
organizationId UUID
vocabularyIds [UUID!]

CreateSummaryVersionInput

Field Type Description
summaryId UUID!
transcriptSource TranscriptSource!

GenerateUploadUrlInput

Field Type Description
filename String!
contentType String!
expiresInSeconds Int

ImportVocabularyCSVInput

Field Type Description
vocabularyId UUID!
mode VocabularyCSVImportMode!
ifMatchUpdatedAt DateTime

MyStatisticsFilter

Field Type Description
from DateTime!
to DateTime!
granularity StatisticsGranularity

OrganizationMembersFilter

Field Type Description
role OrganizationRole
search String
limit Int
offset Int

OriginalTranscriptSource

Field Type Description
placeholder Boolean

Placeholder to make the struct valid (GraphQL requires at least one field)

PaginationInput

Field Type Description
offset Int
limit Int

PagingInput

Field Type Description
limit Int
offset Int

PreviewVocabularyMergeInput

Field Type Description
vocabularyIds [UUID!]!
speakerNames [String!]!

ReplaceVocabularyEntriesInput

Field Type Description
id UUID!
entries [VocabularyEntryInput!]!

Full replacement array (JSON). Expected to be an array of { content, sounds_like? } objects.

ifMatchUpdatedAt DateTime

Optional optimistic concurrency check

SpeakerInput

Field Type Description
firstName String!
lastName String!
comment String

SummaryFilter

Field Type Description
status SummaryStatus
search String
versionStatus SummaryVersionStatus
summaryTypeId Int
language String

TranscriptSource

Field Type Description
original OriginalTranscriptSource

Copy from the original transcript

version VersionTranscriptSource

Copy from another version’s transcript

UpdateSummaryInput

Field Type Description
lengthMs Int
audioPath String
title String
status SummaryStatus
errorMessage String
transcriptPath String
organizationId UUID

UpdateTranscriptionInput

Field Type Description
summaryId UUID!
versionNumber Int!
sentences [UpdateTranscriptionSentence!]!
agendaAssignment [AgendaAssignmentInput!]!

UpdateTranscriptionSentence

Field Type Description
text String!
startMs Int!
endMs Int!
speakerId String!

UpdateUserSettingsInput

Field Type Description
settings [UserSettingInput!]!

UserSettingInput

Field Type Description
settingKey String!
settingValue String!
settingType SettingType!

VersionTranscriptSource

Field Type Description
versionNumber Int!

VocabularyEntryInput

Field Type Description
content String!
soundsLike [String!]

VocabularyFilterInput

Field Type Description
scope VocabularyScope
organizationId UUID
search String

Enums

OrganizationRole

Value Description
ADMIN
MEMBER

SettingType

Value Description
STRING
BOOLEAN
INTEGER
FLOAT
JSON

StatisticsGranularity

Value Description
WEEK
MONTH

SummaryStatus

Value Description
DRAFT
DRAFT_FINALIZED
DEMUXED
TRANSCRIBED
SPEAKER_PREDICTED
FAILED

SummaryVersionStatus

Value Description
VOD_LAB_PENDING
AWAITING_SUMMARY
FAILED
DONE

UsageEventType

Value Description
TRANSCRIPTION
SPEAKER_PREDICTION
SUMMARIZATION
DEMUX
UPLOAD
OTHER

UsageProvider

Value Description
SPEECHMATICS
OPENROUTER
INTERNAL

UsageStatus

Value Description
STARTED
SUCCEEDED
FAILED
CANCELED

VocabularyCSVImportMode

Value Description
REPLACE
APPEND

VocabularyScope

Value Description
PERSONAL
ORGANIZATION

Scalars

Boolean

The Boolean scalar type represents true or false.

DateTime

Implement the DateTime scalar

The input/output is a string in RFC3339 format.

Float

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

ID

Int

The Int scalar type represents non-fractional whole numeric values.

JSON

A scalar that can represent any JSON value.

JSONObject

A scalar that can represent any JSON Object value.

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

UUID

A UUID is a unique 128-bit number, stored as 16 octets. UUIDs are parsed as Strings within GraphQL. UUIDs are used to assign unique identifiers to entities without requiring a central allocating authority.

References