Skip to content

Episodes_AcquireEpisodeLease

POST
/v1/accounts/{account}/datasets/{dataset}/episodes/{episode}:acquireEpisodeLease
curl --request POST \
--url https://junction-api.qualiastudios.dev/v1/accounts/example/datasets/example/episodes/example:acquireEpisodeLease \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "episode": "example", "tab": "example" }'

Takes the take’s edit lease for the caller and this tab. A lease is per take: it holds through every dataset that reads it. One lease per person: when the caller already holds it, the tab joins it and it is renewed. It lapses 30 s after the last renewal. FAILED_PRECONDITION, “episode is being edited by until

account
required
string

The account id.

dataset
required
string

The dataset id.

episode
required
string

The episode id.

Media type application/json

Request for Episodes.AcquireEpisodeLease.

object
episode
required

Accounts/{account}/datasets/{dataset}/episodes/{episode}: the take, in any dataset that reads it.

string
tab
required

The caller’s tab: a uuid the client makes on load.

string
Example generated
{
"episode": "example",
"tab": "example"
}

OK

Media type application/json

Response for Episodes.AcquireEpisodeLease.

object
lease

The caller’s lease.

object
holder

The holder’s user id (as Actor.user).

string
holderName

The holder’s display name at the time they took it; empty when they have none.

string
expireTime

When it lapses unless renewed.

string format: date-time
Example generated
{
"lease": {}
}

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