---
title: "Get asset"
method: GET
path: "/api/v1/me/assets/{id}"
tags: ["Assets"]
---

# Get asset

`GET /api/v1/me/assets/{id}`

## Request

- Base URL: `https://api.proof.holdings`
- URL: `https://api.proof.holdings/api/v1/me/assets/{id}`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `auth_token`

Get a specific verified asset by ID.

## Path parameters

- `id` string, required: MongoDB ObjectId

## Response `200`

Asset details

- UserAsset: User verified asset
  - `id` string, required: MongoDB ObjectId
  - `type` 'phone' | 'email' | 'domain' | 'social' | 'wallet' | 'account' | 'telegram_bot', required: Type of asset being verified
  - `channel` 'whatsapp' | 'telegram' | 'sms' | 'email' | 'dns' | 'http' | 'auto' | 'github' | 'google' | 'facebook' | 'x' | 'linkedin' | 'instagram' | 'youtube' | 'tiktok' | 'ethereum' | 'solana' | 'bitcoin' | 'coinbase' | 'kraken' | 'telegram_bot_token' | 'otp' | 'magic_link', required: How the asset was verified: a verification channel, or `otp` / `magic_link` for an email address confirmed from the dashboard
  - `identifier` string, required
  - `status` 'active' | 'expired' | 'revoked', required: Status of a verified asset
  - `proof_id` string, nullable: Public handle of the proof backing this asset (`ph_ctl_<32 hex>`), or null when the asset predates the proof registry. This is the `control_proof` value `POST /api/v1/delegations` takes.
  - `proof_status` 'active' | 'revoked' | 'expired' | 'suspended' | 'null', nullable: Registry status of that proof. Only an `active` proof can anchor a delegation.
  - `proof_token` string, nullable: The stored signed proof token. Returned by the point read (`GET /me/assets/{id}`) to a JWT owner session ONLY — an API-key caller and the list response carry `has_proof` alone.
  - `has_proof` boolean: Whether a proof token is stored for this asset. Sent by the point read (`GET /me/assets/{id}`) only.
  - `verified_at` string, date-time
  - `proof_expires_at` string, date-time, required: When the proof backing this asset expires
  - `metadata` object: Channel-specific details recorded at verification
  - `created_at` string, date-time, required

## Other responses

- `404`: Asset not found

---

[API](https://skmtc.dev/proof/apis/proof-holdings-api.md) · [All operations](https://skmtc.dev/proof/apis/proof-holdings-api/llms.txt) · [OpenAPI document](https://skmtc.dev/proof/apis/proof-holdings-api/revisions/b15f506de696?raw)
