---
title: "act: hold identity"
description: "the platform, the scopes the rows declare to a browser session for the person; then the credential with its vault entry"
section: reference
address: /reference/act/hold_identity
contract: 0476e35e6e275db5
---

# act: hold identity

the platform, the scopes the rows declare to a browser session for the person; then the credential with its vault entry

[figure: The caller sends HoldIdentityInput to /v1/act/hold_identity. The platform returns a card whose body is SignedInIdentity.]

<span class="op-method">POST</span><span class="op-path">/v1/act/hold_identity</span>

Start a sign-in. The call needs the tenant rung under a token with the act grant, and it is served by the platform.

The route takes [HoldIdentityInput](/concepts/holdidentityinput) and returns a card whose body is [SignedInIdentity](/concepts/signedinidentity).



## Request body
The request body is [HoldIdentityInput](/concepts/holdidentityinput).



| field | type | required | note |
|---|---|---|---|
| `platform` | `text` | yes | the platform's slug, a row of the platform domains |
| `label` | `text` | yes | the person's name for this identity, unique within the tenant and platform |
| `wait_seconds` | `count` | no | how long the platform waits for the sign-in; the parameter row's value when absent |
| `session` | `id` | no | an open browsing session with a live view in which the person signed in; the platform reads the session's cookies as the session given, so nothing leaves any browser; the web version's way that lasts |
| `cookies` | [HeldCookie](/concepts/heldcookie) | no | the session's cookies given as data, read from the person's own browser by the platform's own extension or pasted by the person, for the web version where no window of the platform can open beside the person; when given, no window opens, and the platform keeps the cookies of the platform's domains and probes them |



## Response
The route returns a card whose body is [SignedInIdentity](/concepts/signedinidentity). Every card ends with a foot that states the basis of each number, the scope of the call, and the time when the facts were true.

## Headers


| header | required | meaning |
|---|---|---|
| `Scale-Scope` | yes | the scope the call runs in: tenant/<id>, then /brand/<id>, then /strategy/<id> |
| `Scale-As-True-On` | no | the date the facts must have been true on; defaults to now |
| `Scale-As-Known-On` | no | the date the facts must have been known on; defaults to now |
| `Scale-Key` | no | for a change, the key made from the input; a repeat under the same key returns the unit held and writes nothing |



A caller needs the tenant rung and a token with the act grant. The platform serves this route.

## Example
The example sends the smallest body that HoldIdentityInput allows. The build validates it against the schema of HoldIdentityInput.

<details class="wire"><summary>Example</summary>





```sh
curl -X POST https://api.scaleintelligence.co/v1/act/hold_identity \
  -H "Scale-Key: $SCALE_KEY" -H "Scale-Scope: tenant/<id>" \
  -H "content-type: application/json" \
  -d '{ "platform": "…", "label": "…" }'
```




```typescript
import { client } from "@scale/sdk";
const answer = await client.act.hold_identity({
    "platform": "…",
    "label": "…"
  });
// answer.body is a SignedInIdentity. answer.foot holds the basis, the scope and the time.
```




```python
import requests
answer = requests.post("https://api.scaleintelligence.co/v1/act/hold_identity",
    headers={"Scale-Key": KEY, "Scale-Scope": "tenant/<id>"},
    json={
      "platform": "…",
      "label": "…"
    }).json()
```




```rust
let answer: Card = client.post("https://api.scaleintelligence.co/v1/act/hold_identity")
    .header("Scale-Key", key).header("Scale-Scope", "tenant/<id>")
    .json(&HoldIdentityInput { /* the fields of the page */ }).send().await?.json().await?;
```




</details>

## MCP tool
The MCP tool `si.act.hold_identity` takes the same input and returns the same card. The tool changes data and needs a grant. An MCP host that renders cards draws this card from `ui://scale-intelligence/cards/SignedInIdentity`. The [tool's page](/reference/tools/si-act-hold_identity) describes it.
