---
title: "Read the current Faro credential for a subject"
method: GET
path: "/v1/attestations"
tags: ["Attestations"]
---

# Read the current Faro credential for a subject

`GET /v1/attestations`

## Request

- Base URL: `https://api.farofinance.app`
- URL: `https://api.farofinance.app/v1/attestations`
- Auth: none declared

Looks up the current FaroCredentialAttestation on Base EAS for a subject (`subject_type` + `identifier`, e.g. `x402_endpoint` + `https://api.example.com`). Public — this is a chain read, not a Faro verdict. A hit means a credential was current; it does NOT mean the transaction is safe. Advisory, never blocking.

## Query parameters

- `subject_type` 'domain' | 'ucp_origin' | 'x402_endpoint' | 'agent_operator', required: Namespaces subjectHash so a domain and a UCP origin never collide.
- `identifier` string, required

## Response `200`

Successful Response

- AttestationOut: The current Faro credential for a subject — or found=false.
  - `found` boolean, required
  - `current` boolean
  - `subject_type` 'domain' | 'ucp_origin' | 'x402_endpoint' | 'agent_operator': Namespaces subjectHash so a domain and a UCP origin never collide.
  - `subject_hash` string, required
  - `page_uri` string, nullable
  - `evidence_hash` string, nullable
  - `check_set_version` integer, nullable
  - `issued_at` integer, nullable
  - `expiration_time` integer, nullable
  - `expired` boolean
  - `revoked` boolean
  - `attester` string, nullable
  - `attester_checked` boolean
  - `uid` string, nullable
  - `txid` string, nullable
  - `schema_uid` string, required
  - `easscan` string, nullable
  - `checked_at` string, date-time, required
  - `cached` boolean: Always false — this is a chain read.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/farofinance/apis/faro.md) · [All operations](https://skmtc.dev/farofinance/apis/faro/llms.txt) · [OpenAPI document](https://skmtc.dev/farofinance/apis/faro/revisions/205cdf54420b?raw)
