Skip to main content
POST
Claim the next permitted action

Authorizations

X-API-Key
string
header
required

Body

application/json
lease_nonce
string
required

This browser's lease identity; only the holder is handed work.

Required string length: 8 - 64
checkpoint
boolean | null

True when LinkedIn is challenging the account; no work is handed out while it stands. False clears it; null leaves it untouched.

claim_request_id
string | null

This browser's name for this ask, kept until the answer is saved. Asked again under the same name, because the first answer never arrived, the browser gets the step it was handed rather than a second one beside it. Older builds leave it out.

Required string length: 8 - 64
Pattern: ^[A-Za-z0-9_-]+$
extension_version
string
default:""
Maximum string length: 32
member_urn
string | null

Who the browser is currently signed in as, for the mismatch guard.

Maximum string length: 128
running_action_id
string<uuid> | null

The step this browser is running right now, sent on the check-ins it makes while it runs; with running_claimed_at it keeps that step's claim from lapsing under a browser still working on it, including one waking from sleep. Null between steps.

running_claimed_at
string<date-time> | null

When the running step was claimed, as the claim handed it out.

running_phase
enum<string> | null

How far the running step got, from a build that resumes steps (resume:v1). Accepted and not kept: the commit grant, not the phase, says whether anything may have changed on LinkedIn.

Available options:
claimed,
navigated,
dispatched,
committing,
committed
supported_kinds
string[] | null

The step kinds this build can run, and the capabilities it has beyond them (such as profile_view:read_relationship). Nothing is handed to a browser that it cannot run. Leave it out (an older build) and the browser runs the kinds that existed before builds said. Sent on every check-in: a check-in without it reads as such a build.

Maximum array length: 64
Required string length: 1 - 64
timezone
string | null

The browser's IANA timezone (Intl.DateTimeFormat().resolvedOptions().timeZone). It fills the sender's timezone when the sender has none: their daily limits reset at its midnight and sequences send in its hours. A timezone the sender has is never moved by it. Taken only from the browser driving the account.

Maximum string length: 64
unmetered_only
boolean
default:false

Hand out only a step that waits for no gap between steps (one the Oneprofile team fired to test the sender), or nothing: the ask a build makes inside its own gap when the check-in says one is waiting (unpaced_waiting). Older builds leave it out.

Response

Successful Response

action
LinkedInActionReadSchema · object | null
required

One LinkedIn step, in the shape the dashboard and every extension build read.

A step is queued only once it may run (its approval, when one was asked for, happened on Tasks before it was queued), so every step reads approved_at as the moment it was queued and requires_approval false: the extension's store builds draw "Approve tasks" from exactly these two fields, and no step in the line waits for a person. hold is kept for the same builds and is always null: whether a step is out of the line is held.

deferred_reason
string | null
required
earliest_next_action_at
string<date-time> | null
required
queued_count
integer
required
verification
AgentVerificationSchema · object | null

Set when the step handed out may already have touched LinkedIn (it stopped and was put back, or a press was granted to an earlier attempt): look on LinkedIn before acting, and a change already there is the step done. Only builds that resume steps (resume:v1) are handed such a step.