Episodes_AssignTask
const url = 'https://junction-api.qualiastudios.dev/v1/accounts/example/datasets/example/episodes:assignTask';const options = { method: 'POST', headers: {'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json'}, body: '{"parent":"example","selection":{"names":{"names":["example"]},"filter":"example"},"task":"example","requestId":"example","linkedTask":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://junction-api.qualiastudios.dev/v1/accounts/example/datasets/example/episodes:assignTask \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "parent": "example", "selection": { "names": { "names": [ "example" ] }, "filter": "example" }, "task": "example", "requestId": "example", "linkedTask": "example" }'Sets one task label on every selected episode of an upload in a single publication: all of them or none. Episodes whose task already reads that label are left as they are; the rest get one revision each and share one TASK_ASSIGNED event. Selection runs over the upload’s episodes, which do not include the children of a split: a split parent takes the label, and its children take it with it in the same publication. Through a merged dataset the selection is split by the upload that holds each episode: one such publication per upload.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The account id.
The dataset id.
Request Body required
Section titled “Request Body required ”Request for Episodes.AssignTask.
object
Accounts/{account}/datasets/{dataset}: must be the upload.
Which episodes, at most 10000.
object
Episode names under the request’s parent.
object
Accounts/{account}/datasets/{dataset}/episodes/{episode}, at most 10000.
A ListEpisodes filter over the parent (e.g. what the filter bar leaves).
The task label every selected episode should read. Required unless linked_task is set, when it defaults to that task’s display_name.
Optional UUID4 identifying this logical edit. Reusing it with the same caller and request returns the original result; different input conflicts. When absent, each call starts a new logical edit.
Accounts/{account}/tasks/{task}: link every selected episode to this task as well. A task of the dataset’s account; NOT_FOUND otherwise. Empty leaves links as they are.
Example generated
{ "parent": "example", "selection": { "names": { "names": [ "example" ] }, "filter": "example" }, "task": "example", "requestId": "example", "linkedTask": "example"}Responses
Section titled “ Responses ”OK
Response for Episodes.AssignTask.
object
Episodes whose task changed to the label, or whose link changed.
Selected episodes that already read the label (and the link), left unchanged.
Split children of the relabelled episodes that took the label with their parent. A child is never selected or counted on its own.
Example generated
{ "assignedCount": 1, "unchangedCount": 1, "childrenFollowedCount": 1}default
Section titled “default ”Default error response
A refusal from the API itself.
object
The gRPC code name in upper case, e.g. NOT_FOUND.
Whether the same call may succeed if retried.
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.
object
A refusal from the gateway before the call reaches the API, for example 401 bad or missing API key, 403 key lacks the scope or environment closed, 413 body too large.
object
What went wrong.
Example generated
{ "code": "example", "message": "example", "retryable": true, "details": [ {} ]}