Skip to content

Starts the tool's own login on this node (claude auth login, codex or grok login --device-auth) and returns its sign-in page link, plus the device code for Codex and Grok Build.

POST
/v1/m/agenttools/sign-in
curl --request POST \
--url https://example.com/v1/m/agenttools/sign-in \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "account_ref": "example", "driver": "claude", "method": "example", "tenant_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'

Starts the tool’s own login on this node (claude auth login, codex or grok login –device-auth) and returns its sign-in page link, plus the device code for Codex and Grok Build.

Media type application/json
object
account_ref

An existing provider account or profile in this organization; omitted, use the tenant’s default login.

string
driver
required
string
Allowed values: claude codex grok opencode gemini-cli
method

One of the login method ids the tool lists in the sign-in status; omitted, the tool’s default method. An id the tool does not offer is refused with 400 and the valid ids.

string
tenant_id
required

The organization the login is for; it lands in that organization’s own home.

string format: uuid

The tool’s own login started on this node

Media type application/json
object
account_ref
string
driver
required
string
id
required
string format: uuid
message
string
state
required
string
Allowed values: starting needs_code needs_key waiting checking signed_in failed
url
string
user_code
string
Example
{
"state": "starting"
}

Bad request

Media type application/json
object
Example generated
{}

Unauthenticated

Media type application/json
object
Example generated
{}

Forbidden / step-up required

Media type application/json
object
Example generated
{}

Not found

Media type application/json
object
Example generated
{}

Conflict

Media type application/json
object
Example generated
{}

Required evidence or store unavailable

Media type application/json
object
Example generated
{}