Skip to content

Versions_GetVersion

GET
/v1/accounts/{account}/datasets/{dataset}/versions/{version}
curl --request GET \
--url https://junction-api.qualiastudios.dev/v1/accounts/example/datasets/example/versions/example \
--header 'X-API-Key: <X-API-Key>'

Gets a tag, or resolves stable, head, a DatasetVersion id or a prefix.

account
required
string

The account id.

dataset
required
string

The dataset id.

version
required
string

The version id.

OK

Media type application/json

A version tag: a human name on what a dataset yielded at one moment. Uploads and mixtures both have them. A tag never moves; many tags may share a digest.

The {version} id is the tag name. Two reserved ids resolve instead of naming a tag: stable (the newest tag) and head (what the dataset yields now; a Version with no tag). A DatasetVersion id (dataset_version_id, what an upload prints) names the version that has it; a tag cut with that UUID as its name, before such names were refused, answers first, and FAILED_PRECONDITION when the two are different versions. Any other id that is not a tag is matched as a prefix (7+ hex characters) of the dataset’s version digests and of their DatasetVersion ids without dashes. Those include an upload’s v0, which has no tag row.

Served by qds-api.

object
name

Accounts/{account}/datasets/{dataset}/versions/{version}

string
tag

The tag name (“1.0”); empty for head.

string
digest

Opaque episode-set identity, “b3:”, for the (episode id, episode revision) pairs the ref yields. Head and tags use the same account-scoped identity. Upgrades preserve current heads and retained version digests. Clients compare returned identities rather than computing them. On CreateVersion, optionally the head digest seen in the tag dialog: when head has moved since, the call fails with ABORTED instead of tagging something nobody saw.

string
episodeCount

Episodes it pins.

string
durationSeconds

Recorded time it pins, seconds.

number format: double
rejectedCount

Episodes the dataset itself had rejected (inherited by whoever reads it).

string
manifest

Per upload: how finished it was.

Array<object>

How finished one upload was when the version was cut.

object
dataset

Accounts/{account}/datasets/{dataset}: the upload. A mixture’s version names an upload a merge took by its merged dataset, one entry for all the uploads it holds, their counts summed; a merged dataset’s own versions name its uploads.

string
reviewedCount

Episodes a person or validation had ruled on. On v0, 0: nothing was ruled yet, except on a copy, whose rulings came with it and were not counted (see Version.copy_source).

string
totalCount

Episodes in the upload.

string
memberCount

Episodes the version took from it.

string
lock

Per mixture source: what it resolved to. Empty for an upload.

Array<object>

What one mixture source resolved to when the version was cut: the lockfile row.

object
source

Accounts/{account}/datasets/{dataset}/sources/{source}

string
dataset

Accounts/{account}/datasets/{dataset}: the dataset it resolved to.

string
follow

The follow it had.

object
channel

Move with a channel.

string format: enum
Allowed values: CHANNEL_UNSPECIFIED STABLE HEAD
pin

Stay on this version tag of the source dataset, e.g. “1.0”.

string
ref

The tag it stood at, or “head”.

string
digest

The digest it stood at.

string
episodeCount

Episodes it brought in.

string
note

What the version is, in a person’s words. Editable after the cut.

string
reference

The reference a training run cites: “<Dataset.slug>:”, e.g. “restock-shelf-mix:1.0”. Unique per account.

string
creator

Who cut it.

object
kind

What kind of actor it is.

string format: enum
Allowed values: KIND_UNSPECIFIED PERSON VALIDATION RULE MODEL OPERATOR SYSTEM
user

The person’s user id when kind is PERSON; empty otherwise.

string
displayName

The person’s display name at the time, for rendering without a lookup.

string
agent

The rule code, or for a MODEL the Qualia model tier (e.g. “qualia-vlm”; “qualia” for any other model), when not a person.

string
run

The run a model or rule finding came from, when it has one.

string
apiKey

The API key’s id when a person acted through one; empty for a session. Never the key itself.

string
attribution

Signed identity evidence recorded with the change, kept apart from the principal above. Unset on older records and wherever none was signed.

object
authentication

How the principal authenticated.

string format: enum
Allowed values: AUTHENTICATION_UNSPECIFIED SESSION API_KEY SERVICE
initiator

The user id of a person verified as starting the work: the person of a session, or the person a trusted service’s signed job record names. Empty when nobody was verified.

string
initiatorDisplayName

The initiator’s display name at the time, never their email.

string
credentialCreator

The user id of the key’s creator at the time. Not who used the key.

string
credentialOwner

Who owned the key at the time.

string format: enum
Allowed values: CREDENTIAL_OWNER_UNSPECIFIED PERSON SPACE
credentialOwnerSpace

The owning space’s id (a workspace or the organization) when credential_owner is SPACE.

string
createTime

When it was cut.

string format: date-time
updateTime

When the note last changed.

string format: date-time
etag

Sent back on UpdateVersion.

string
datasetVersionId

The immutable dataset version the tag pins, a UUID: the id training, materialization and health reads take. Tags of one digest may share it. Empty for head, which pins nothing.

string
copySource

Set only on v0 of a copy, which holds what the copy started with rather than what an upload arrived with. ListVersionsResponse.copy_source says the same of any dataset, v0 or not.

object
datasetDisplayName

The source dataset’s name. Empty for a source in another organization, and for an upload forked for a copied mixture, which has no record of its own.

string
workspaceDisplayName

The source’s workspace’s name; empty when no record names it.

string
organizationDisplayName

The source’s organization’s name; set only for another organization.

string
version

The source’s version tag; empty for the version it stood at then.

string
copyTime

When the copy was made.

string format: date-time
preview

Accounts/{account}/datasets/{dataset}/versionPreviews/{version_preview}: the preview the tag was published from (PublishVersionPreview). Empty for a tag of head (CreateVersion), and for head itself.

string
include

Which takes the preview took, by how they stood. Empty when preview is.

Array<string>
Allowed values: CLASS_UNSPECIFIED KEPT_BY_PERSON KEPT FLAGGED REJECTED REJECTED_BY_PERSON
includedFlaggedCount

Episodes it pins that stood FLAGGED when the preview was made.

string
includedRejectedCount

Episodes it pins that stood REJECTED when the preview was made.

string
editedCount

Takes published with the edit drawn on them. 0 for a tag of head, which has every take as recorded.

string
trimmedCount

Edited takes published as one new episode (a trim, new subtasks or both).

string
splitCount

Edited takes published as two or more new episodes.

string
pieceCount

New episodes the edited takes became, across every edited take.

string
draftsNotIncluded

Takes with an edit drawn and not published when a tag of head was made: the tag has them as recorded. 0 for a tag published from a preview.

string
Example
{
"lock": [
{
"follow": {
"channel": "CHANNEL_UNSPECIFIED"
}
}
],
"creator": {
"kind": "KIND_UNSPECIFIED",
"attribution": {
"authentication": "AUTHENTICATION_UNSPECIFIED",
"credentialOwner": "CREDENTIAL_OWNER_UNSPECIFIED"
}
},
"include": [
"CLASS_UNSPECIFIED"
]
}

Default error response

Media type application/json
One of:
API error

A refusal from the API itself.

object
code
required

The gRPC code name in upper case, e.g. NOT_FOUND.

string
message
required
string
retryable
required

Whether the same call may succeed if retried.

boolean
details
required

Empty, except when a dataset copy or move is refused: then one google.rpc.ErrorInfo with the refusal’s reason code, its domain and, in metadata, the datasets it names.

Array<object>
object
Example generated
{
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
]
}