Skip to content

Episodes_ListEpisodeRevisions

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

An episode’s edits, newest first, then the recording as revision 0; an episode nobody edited lists nothing. The history is the take’s: the same through any dataset that holds it.

account
required
string

The account id.

dataset
required
string

The dataset id.

episode
required
string

The episode id.

pageSize
integer format: int32

At most this many; 0 means 50, the maximum is 500.

pageToken
string

From a previous response’s next_page_token.

revisions
Array<integer>

Optional exact revisions (at most two, nonnegative). Cannot be combined with page_token. Missing revisions are omitted, never replaced by head.

OK

Media type application/json

Response for Episodes.ListEpisodeRevisions.

object
episodeRevisions

One page of revisions, newest first.

Array<object>

One edit of a take’s content, kept for good (QUA-3084): what the history in the episode studio lists. A revision holds the whole state after the edit, not the change: a field the edit did not set holds the recording’s value, as Episode reads it. What changed is its difference from the revision before it. Revision 0 is the recording itself, before any edit, so the first edit’s changes read against it. Rulings (keep, reject) are not revisions.

Served by qds-api.

object
name

Accounts/{account}/datasets/{dataset}/episodes/{episode}/revisions/{revision}

string
revision

1, 2, 3, … in edit order; Episode.revision is the newest. 0 is the recording.

integer format: int32
note

What the edit was for, in the editor’s words; may be empty.

string
author

Who edited; the system for the recording.

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 the model id (e.g. “gemini-robotics-er”), 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; for the recording, when it was ingested.

string format: date-time
task

Task label after the edit.

string
instruction

Language instruction after the edit.

string
method

Legacy single-method projection after the edit.

string
methods

Collection-method tags after the edit.

Array<string>
scene

Scene label after the edit.

string
tags

Free tags after the edit.

Array<string>
outcome

Outcome after the edit.

string format: enum
Allowed values: OUTCOME_UNSPECIFIED SUCCESS PARTIAL FAILURE
trim

Trim window after the edit; unset means untrimmed. An open end is 0 (start) or the recording’s end (end) as Episode.trim reads it.

object
startSeconds

First second kept.

number format: double
endSeconds

Last second kept.

number format: double
subtasks

Subtask spans after the edit.

Array<object>

One subtask span (QUA-1794).

object
startSeconds

Start, in seconds from the start of the recording.

number format: double
endSeconds

End, in seconds.

number format: double
label

The subtask’s one name (also one of the episode’s tags).

string
review

Proposed, accepted or rejected.

string format: enum
Allowed values: REVIEW_UNSPECIFIED PROPOSED ACCEPTED REJECTED
origin

Who proposed it.

string format: enum
Allowed values: ORIGIN_UNSPECIFIED HUMAN MODEL HEURISTIC
nextPageToken

Empty on the last page.

string
Example
{
"episodeRevisions": [
{
"author": {
"kind": "KIND_UNSPECIFIED",
"attribution": {
"authentication": "AUTHENTICATION_UNSPECIFIED",
"credentialOwner": "CREDENTIAL_OWNER_UNSPECIFIED"
}
},
"outcome": "OUTCOME_UNSPECIFIED",
"subtasks": [
{
"review": "REVIEW_UNSPECIFIED",
"origin": "ORIGIN_UNSPECIFIED"
}
]
}
]
}

Default error response

Media type application/json

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
code

The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

integer format: int32
message

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.

string
details

A list of messages that carry the error details. There is a common set of message types for APIs to use.

Array<object>

Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.

object
@type

The type of the serialized message.

string
key
additional properties
any
Example generated
{
"code": 1,
"message": "example",
"details": [
{
"@type": "example"
}
]
}