# Keep a coinflip table open

> Tell an open table its player is present, so the idle window does not close it

`POST /v2/coinflips/{id}/presence`

Tell an open table its player is present, so the idle window does not close it.

**Authentication:** Required: the order’s owner session in `X-Session-ID`.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string (pattern `^[A-Za-z0-9:_-]{1,128}$`) | Yes | Public order identifier. Not a credential: every read still requires the owner session or the destination proof. |

## Response

`200` returns an object with:

- `touched` · boolean · **required**

Errors use the [standard error envelope](https://docs.wagyu.xyz/actions-and-retries.md#the-error-envelope): branch on `code`, never on the message.

## Example

<!-- curl -->
```bash
curl -X POST 'https://api-beta.wagyu.xyz/v2/coinflips/<orderId>/presence' \
  -H 'x-session-id: <sessionId>'
```

<!-- JavaScript -->
```javascript
const res = await fetch('https://api-beta.wagyu.xyz/v2/coinflips/<orderId>/presence', {
  method: 'POST',
  headers: {"x-session-id":"<sessionId>"},
});
const data = await res.json();
```

<!-- Python -->
```python
import requests

res = requests.post('https://api-beta.wagyu.xyz/v2/coinflips/<orderId>/presence', headers={"x-session-id":"<sessionId>"}, timeout=30)
data = res.json()
```

_No response is captured for this route: calling it creates or changes a real order. The response fields above come from the live contract._

---
Source: https://docs.wagyu.xyz/api-reference/coinflip-presence · Built from the live Wagyu API on 2026-11-04.
