Skip to content

Episodes_AssignTask

POST
/v1/accounts/{account}/datasets/{dataset}/episodes:assignTask
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.

account
required
string

The account id.

dataset
required
string

The dataset id.

Media type application/json

Request for Episodes.AssignTask.

object
parent
required

Accounts/{account}/datasets/{dataset}: must be the upload.

string
selection
required

Which episodes, at most 10000.

object
names

Episode names under the request’s parent.

object
names

Accounts/{account}/datasets/{dataset}/episodes/{episode}, at most 10000.

Array<string>
filter

A ListEpisodes filter over the parent (e.g. what the filter bar leaves).

string
task

The task label every selected episode should read. Required unless linked_task is set, when it defaults to that task’s display_name.

string
requestId

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.

string
linkedTask

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.

string
Example generated
{
"parent": "example",
"selection": {
"names": {
"names": [
"example"
]
},
"filter": "example"
},
"task": "example",
"requestId": "example",
"linkedTask": "example"
}

OK

Media type application/json

Response for Episodes.AssignTask.

object
assignedCount

Episodes whose task changed to the label, or whose link changed.

integer format: int32
unchangedCount

Selected episodes that already read the label (and the link), left unchanged.

integer format: int32
childrenFollowedCount

Split children of the relabelled episodes that took the label with their parent. A child is never selected or counted on its own.

integer format: int32
Example generated
{
"assignedCount": 1,
"unchangedCount": 1,
"childrenFollowedCount": 1
}

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": [
{}
]
}