---
title: "Manually verify a contact channel"
method: POST
path: "/v1/contact-channels/{channel_id}/verify"
tags: ["contacts"]
---

# Manually verify a contact channel

`POST /v1/contact-channels/{channel_id}/verify`

Guardian-only manual attestation: marks the channel active/verified in the gateway store (source of truth) with a best-effort assistant mirror. Idempotent.

## Path parameters

- `channel_id` string, required

## Response `200`

Successful response

- object
  - `ok` boolean, required
  - `channel` object, required
    - `id` string, required
    - `contactId` string, required
    - `type` string, required
    - `address` string, required
    - `isPrimary` boolean, required
    - `externalChatId` string, nullable, required
    - `status` string, nullable, required
    - `policy` string, nullable, required
    - `verifiedAt` number, nullable, required
    - `verifiedVia` string, nullable, required
    - `inviteId` string, nullable, required
    - `revokedReason` string, nullable, required
    - `blockedReason` string, nullable, required
    - `lastSeenAt` number, nullable, required
    - `interactionCount` number, required
    - `lastInteraction` number, nullable, required
    - `createdAt` number, nullable, required
    - `updatedAt` number, nullable, required

---

[API](https://skmtc.net/vellum-ai/apis/vellum-gateway-api.md) · [All operations](https://skmtc.net/vellum-ai/apis/vellum-gateway-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vellum-ai/vellum-gateway-api/revisions/5f280bce8b2e/schema)
