GEThttps://core-api.heysadie.ai/transcriber-banks/{id}
id windowDays success data bank organizationId name languageLabel threshold controlLinesPerFlag candidates createdBy createdAt updatedAt live transcriberId lines window days turns flagged controls scores role accuracy matched scored errors meanWer leader clearsThreshold metadata timestamp version path error code message details fieldGet a bank's card
One bank's card, as GET /transcriber-banks has it, read fresh rather than cached. Use it for a bank page header. Errors: 404 RESOURCE_NOT_FOUND when the bank is not in the organization.
Try it in the API ExplorerExample request
curl "https://core-api.heysadie.ai/transcriber-banks/TRANSCRIBER_BANK_ID" \
-H "Authorization: ApiKey YOUR_API_KEY"Authentication
Authenticate with an API key in the Authorization header using the ApiKey scheme. See Authentication for how keys work and where to get them.
AuthorizationstringrequiredAPI key in the ApiKey scheme: ApiKey YOUR_API_KEY. Tenant keys authorize their own tenant; organization keys can act on any tenant in the organization.
X-Tenant-Idstring (uuid)optionalRequired when authenticating with an organization key: it selects the tenant the request acts on. Omit with tenant keys.
Request
Path parameters
idstringrequiredA live bank of the organization
Query parameters
windowDaysstringoptionalDays back from now, by turn creation, the scores cover. 1 to 90, default 30
Responses
successbooleanrequiredtrue on every 2xx
dataobjectoptionalThe result
Show 1 child properties
bankobjectrequiredA Results card: the bank, the live transcribers of its window's turns, every score over them, and the leading candidate
Show 14 child properties
idstringrequiredBank id
organizationIdstringrequiredThe organization that owns the bank
namestringrequiredUnique among the organization's banks, ignoring case, e.g. "English"
languageLabelstringrequiredDisplay only, e.g. "en-US" or "en + fr"
thresholdnumberrequiredAccuracy, 0 to 1, a candidate must reach to clear the bank. `leader.clearsThreshold` compares against it
controlLinesPerFlagenumrequiredUnflagged caller lines of the same call sampled as controls with each flag created in the bank (POST /turn-flags with `bankId`; a flag moved in later gets none): 0, 1 or 2. A control's expected text is the live transcriber's own text, so controls show what a candidate breaks on lines production got right
012candidatesobject[]requiredThe transcribers under test, in display order, at most 8. A candidate replays the flagged and control turns that join the bank while it is a candidate; older turns only through a backfill (PUT /transcriber-banks/:id/candidates with `backfill: true`) within its window
Show 2 item properties
idstringrequiredTranscriber id, as GET /transcribers lists it
namestringrequiredThe transcriber's display name
createdBystring | nullrequiredWho made it, as the creating request named them in an `X-On-Behalf-Of` header. Null when it sent none
createdAtstring (date-time) | string (date) | number | nullrequiredWhen it was created, UTC
updatedAtstring (date-time) | string (date) | number | nullrequiredWhen it last changed, UTC
liveobject[]requiredThe live transcribers of the bank's flagged and control turns in the window, most lines first
Show 3 item properties
transcriberIdstringrequiredA live transcriber
namestringrequiredIts display name
linesstring (integer) | integerrequiredThe bank's flagged and control turns in the window whose call ran on this transcriber
windowobjectrequiredThe turns the scores cover
Show 4 child properties
daysstring (integer) | integerrequiredThe window, in days back from now
turnsstring (integer) | integerrequiredflagged + controls
flaggedstring (integer) | integerrequiredFlagged turns of the bank created in the window
controlsstring (integer) | integerrequiredControl turns of the bank created in the window
scoresobject[]requiredEvery candidate by position, then one production row per live transcriber with an attempt in the window, most scored first
Show 8 item properties
transcriberIdstringrequiredThe transcriber scored
namestringrequiredThe transcriber's display name
roleenumrequiredcandidate: a transcriber under test. production: a live transcriber, scored on its stored call text
"candidate""production"accuracynumber | nullrequiredmatched / scored, 0 to 1. Null until the first scored attempt
matchedstring (integer) | integerrequiredScored attempts that match
scoredstring (integer) | integerrequiredAttempts with text and a match verdict
errorsstring (integer) | integerrequiredFailed attempts, left out of `scored`
meanWernumber | nullrequiredMean word error rate over the scored attempts, 4 decimals. Null until the first scored attempt
leaderobject | nullrequiredThe scored candidate with the highest accuracy, then the lower mean WER, then the earlier position. Full-call runs default to the leader over the last 30 days, whatever window this card covers. Null until a candidate has a scored attempt
Show 3 child properties
transcriberIdstringrequiredThe leading candidate
accuracynumberrequiredIts accuracy, 0 to 1
clearsThresholdbooleanrequiredaccuracy >= the bank's threshold
metadataobjectoptionalRequest metadata
Show 3 child properties
timestampstringrequiredWhen the server answered, ISO 8601 UTC
versionstringrequiredAPI version
pathstringoptionalThe URL that was requested
400VALIDATION_ERROR: a path id, query parameter or body field broke a rule; `details` lists each `field` and its `message`. A body with a missing field or a JSON type the schema does not allow answers 400 with code INTERNAL_SERVER_ERROR and no `details` instead, so branch on the status
successbooleanrequiredfalse on every error
errorobjectoptionalWhat went wrong: a stable `code` to branch on and a human-readable `message`
Show 3 child properties
codeenumrequiredA parameter or body field broke a rule
"VALIDATION_ERROR"messagestringrequiredHuman-readable explanation. Do not parse it; branch on `code`
detailsobject[]optionalOne entry per field that failed
Show 2 item properties
fieldstringrequiredThe offending field
messagestringrequiredThe rule it broke
metadataobjectoptionalRequest metadata
Show 3 child properties
timestampstringrequiredWhen the server answered, ISO 8601 UTC
versionstringrequiredAPI version
pathstringoptionalThe URL that was requested
401UNAUTHORIZED: no valid credentials, or a dashboard token that names no organization. Send `Authorization: ApiKey <organization API key>`
successbooleanrequiredfalse on every error
errorobjectoptionalWhat went wrong: a stable `code` to branch on and a human-readable `message`
Show 2 child properties
codeenumrequiredNo valid credentials
"UNAUTHORIZED"messagestringrequiredHuman-readable explanation. Do not parse it; branch on `code`
metadataobjectoptionalRequest metadata
Show 3 child properties
timestampstringrequiredWhen the server answered, ISO 8601 UTC
versionstringrequiredAPI version
pathstringoptionalThe URL that was requested
403ORG_SCOPE_REQUIRED: transcriber testing is an organization feature. Use an organization API key without `X-Tenant-Id`, or a dashboard token scoped to the organization. A tenant API key, an organization key sent with `X-Tenant-Id` for one of its tenants, or a token carrying a tenant gets this 403. FORBIDDEN: an organization key sent `X-Tenant-Id` for a tenant outside its organization
successbooleanrequiredfalse on every error
errorobjectoptionalWhat went wrong: a stable `code` to branch on and a human-readable `message`
Show 2 child properties
codeenumrequiredORG_SCOPE_REQUIRED: the credentials carry a tenant scope. FORBIDDEN: an organization key sent `X-Tenant-Id` for a tenant outside its organization
"ORG_SCOPE_REQUIRED""FORBIDDEN"messagestringrequiredHuman-readable explanation. Do not parse it; branch on `code`
metadataobjectoptionalRequest metadata
Show 3 child properties
timestampstringrequiredWhen the server answered, ISO 8601 UTC
versionstringrequiredAPI version
pathstringoptionalThe URL that was requested
404RESOURCE_NOT_FOUND: an id in the path, query or body names nothing in the caller's organization. `message` names what, e.g. "Transcriber bank not found"
successbooleanrequiredfalse on every error
errorobjectoptionalWhat went wrong: a stable `code` to branch on and a human-readable `message`
Show 2 child properties
codeenumrequiredAn id names nothing the caller can see
"RESOURCE_NOT_FOUND"messagestringrequiredHuman-readable explanation. Do not parse it; branch on `code`
metadataobjectoptionalRequest metadata
Show 3 child properties
timestampstringrequiredWhen the server answered, ISO 8601 UTC
versionstringrequiredAPI version
pathstringoptionalThe URL that was requested
500An unexpected server error
successbooleanrequiredfalse on every error
errorobjectoptionalWhat went wrong: a stable `code` to branch on and a human-readable `message`
Show 2 child properties
codeenumrequiredAn unexpected server failure
"INTERNAL_SERVER_ERROR"messagestringrequiredHuman-readable explanation. Do not parse it; branch on `code`
metadataobjectoptionalRequest metadata
Show 3 child properties
timestampstringrequiredWhen the server answered, ISO 8601 UTC
versionstringrequiredAPI version
pathstringoptionalThe URL that was requested