Versions_CompareVersions
const url = 'https://dev-api.qualiastudios.dev/v1/accounts/example/datasets/example/versions:compare';const options = {method: 'GET', headers: {'X-API-Key': '<X-API-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://dev-api.qualiastudios.dev/v1/accounts/example/datasets/example/versions:compare \ --header 'X-API-Key: <X-API-Key>'What came in, went out or changed revision between two refs of one dataset, and why (QUA-1836). Paged over the changed episodes.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The account id.
The dataset id.
Query Parameters
Section titled “Query Parameters ”The ref measured from: a tag, stable or a digest prefix. Empty
means the newest tag (everything is new when there is none).
The ref measured to; empty means head.
At most this many changed episodes; 0 means 100, the maximum is 1000.
From a previous response’s next_page_token.
Responses
Section titled “ Responses ”OK
Response for Versions.CompareVersions.
object
One page of changed episodes.
One episode that came in or went out.
object
Accounts/{account}/datasets/{dataset}/episodes/{episode}, in this dataset’s scope.
Added or removed.
Why.
The source it came through (mixtures).
Present on immutable cut pieces. Identifies their original take and their order within its cut, so replacements can be paired across this flat direction/episode-ordered list (and across pages). The take uses this comparison’s dataset scope, just as episode does.
object
Accounts/{account}/datasets/{dataset}/episodes/{episode}: the take it was cut from.
The take’s index in its upload (Episode.index of the take).
Its place among the take’s pieces, from 1.
How many pieces the take was cut into.
Where it starts, in seconds of the take’s recording.
Where it ends, in seconds of the take’s recording.
Empty on the last page.
The resolved base (“1.0”, or empty when there was none).
Digest of the base.
Digest of the target.
Episodes added, across every page.
Episodes removed, across every page.
Episodes in both at a different revision, across every page.
Added, removed and changed counted per reason, “RULING” -> n, for the dialog’s summary.
object
A note drafted from the diff, for the tag dialog to pre-fill.
The tag name the dialog offers: the next minor (“1.0” first). Majors are a person’s call.
Example
{ "changes": [ { "direction": "DIRECTION_UNSPECIFIED", "reason": "REASON_UNSPECIFIED" } ]}default
Section titled “default ”Default error response
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.
object
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
A list of messages that carry the error details. There is a common set of message types for APIs to use.
Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
object
The type of the serialized message.
Example generated
{ "code": 1, "message": "example", "details": [ { "@type": "example" } ]}