# Verify an alert channel

`POST /service/@id/uptime/channels/@channel/verify` · Tino Uptime, service owner's sign-in token

Email: send the `code` from the email to verify, omit it to resend the code (at most 5 emails an hour per account, 3 a day per address; beyond that 429 `rate_limited`); a wrong code answers 422 `token_invalid`. Telegram: issues a new deep link. Discord, Slack, webhook: sends a test message and verifies the channel when it gets through. A verified channel is returned unchanged.

## HTTP request

| Item | Value |
| --- | --- |
| URL | `https://api.tino.vn/service/@id/uptime/channels/@channel/verify` |
| Method | `POST` |
| Authentication | the Tino Uptime service owner's sign-in token (`Authorization: Bearer <token>`); the `/v1` gateway does not expose Tino Uptime yet |
| Content-Type | `application/json` |

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | int | yes | Tino Uptime service ID |
| `channel` | path | string | yes | Alert channel ID (UUID, `id` in the channel list) |
| `code` | body | string | no | Email channel: the code in the email (4–64 characters); omit to resend the code |

## Example request

```bash
curl -X POST "https://api.tino.vn/service/100002/uptime/channels/c41e8b20-6d7f-4a1c-9b3e-5f2a8d0c6e17/verify" \
  -H "Authorization: Bearer $TINO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "code": "482913"
}'
```

`$TINO_TOKEN` is the Tino Uptime service owner's sign-in token. Path parameters in the example are sample values.

SDK ([SDK & examples](/en/docs/sdk)): no dedicated function yet, use `client.request("POST", "/service/@id/uptime/channels/@channel/verify")`.

## Example response

```json
{
 "data": {
  "id": "c41e8b20-6d7f-4a1c-9b3e-5f2a8d0c6e17",
  "kind": "email",
  "name": "Email kỹ thuật",
  "target": "o***@example.com",
  "verified_at": "2026-10-24T10:42:00+07:00",
  "opted_in_at": "2026-10-24T10:42:00+07:00",
  "disabled_reason": null,
  "last_sent_at": null,
  "link_pending": false,
  "route_key": null,
  "created_at": "2026-10-24T10:40:00+07:00"
 }
}
```

Sample built from the Tino Uptime OpenAPI (Tino relays the answer as is inside `data`); values are examples.
