---
title: "Start a CLI sign-in"
method: POST
path: "/cli/login"
tags: ["CliLogin"]
---

# Start a CLI sign-in

`POST /cli/login`

## Request

- Base URL: `https://api.supersendtx.com`
- URL: `https://api.supersendtx.com/cli/login`
- Auth: none required

Starts a device sign-in for the CLI (`ranla login`). No key needed. Show
the person `verification_url` and `user_code`; they sign up or sign in,
check the code, pick the workspace and approve. Meanwhile poll
`POST /cli/login/token` with `device_code` every `interval` seconds.
Rate limited per client address.

## Request body

- object
  - `workspace` string: Workspace name or id to suggest on the approval page. The person still decides.

## Response `200`

Sign-in started

- CliLoginStart
  - `device_code` string, required: Secret. Poll with it; never show it.
  - `user_code` string, required: What the person checks on the approval page.
  - `verification_url` string, uri, required: The approval page, with the code filled in.
  - `expires_in` integer, required: Seconds until the sign-in expires.
  - `interval` integer, required: Seconds to wait between polls.

## Other responses

- `429`: Too many sign-ins started from this address

---

[API](https://skmtc.dev/ranla/apis/supersend-tx-api.md) · [All operations](https://skmtc.dev/ranla/apis/supersend-tx-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ranla/apis/supersend-tx-api/revisions/e3e782652f50?raw)
