---
title: "Get attestation"
method: GET
path: "/attestations/{publicId}"
tags: ["Attestations"]
---

# Get attestation

`GET /attestations/{publicId}`

## Request

- Base URL: `https://app.arkova.ai/api/v1`
- URL: `https://app.arkova.ai/api/v1/attestations/{publicId}`
- Auth: none required

Retrieve a single public attestation. Omit include to receive the default response shape; pass include=credentials to add a bounded attestor credential chain.

## Path parameters

- `publicId` string, required

## Query parameters

- `include` string[]

## Response `200`

Attestation details

- Attestation
  - `public_id` string, required
  - `attestation_type` 'VERIFICATION' | 'ENDORSEMENT' | 'AUDIT' | 'APPROVAL' | 'WITNESS' | 'COMPLIANCE' | 'SUPPLY_CHAIN' | 'IDENTITY' | 'CUSTOM', required
  - `status` string, required
  - `subject_type` 'credential' | 'entity' | 'process' | 'asset', required
  - `subject_identifier` string, required
  - `subject` object: Deprecated v1 compatibility object mirroring subject_type and subject_identifier.
    - `type` 'credential' | 'entity' | 'process' | 'asset'
    - `identifier` string
  - `attester` object, required
    - `name` string, required
    - `type` 'INSTITUTION' | 'CORPORATION' | 'INDIVIDUAL' | 'REGULATORY' | 'THIRD_PARTY', required
    - `title` string, nullable
    - `kind` 'organization' | 'individual': UAT-26: organization = made on behalf of an organization by one of its administrators; individual = one person's own statement (always type INDIVIDUAL). Name, type and title are as entered by the attester.
  - `claims` object[], required
    - `claim` string, required
    - `evidence` string
  - `summary` string, nullable
  - `jurisdiction` string: Omitted when null, never returned as null
  - `fingerprint` string, nullable
  - `evidence_fingerprint` string, nullable
  - `evidence` AttestationEvidence[], required
    - `id` string, required: v1 back-compat alias for public_id; never an internal UUID
    - `public_id` string, required
    - `evidence_type` string, required
    - `description` string, nullable
    - `fingerprint` string, required
    - `mime` string, nullable
    - `size` integer, nullable
    - `created_at` string, date-time, required
  - `evidence_count` integer, required
  - `chain_proof` object, nullable
    - `tx_id` string
    - `block_height` integer, nullable
    - `timestamp` string, date-time, nullable
    - `explorer_url` string, uri, nullable
  - `anchored_at` string, date-time, nullable: Deprecated v1 alias for chain_proof.timestamp
  - `merkle_root` string, nullable: Deprecated v1 alias for the chain Merkle root when available
  - `linked_credential` object, nullable
    - `public_id` string
    - `credential_type` string, nullable
    - `verification_status` string
    - `verify_url` string, uri
  - `attestor_credentials` AttestorCredential[]: Present only with include=credentials. Capped at the current linked credential plus two parent levels.
    - `public_id` string, required
    - `credential_type` string, nullable
    - `status` string, required
    - `fingerprint` string, nullable
    - `version_number` integer, nullable
    - `parent_public_id` string, nullable
    - `is_current` boolean, required
    - `chain_proof` object, nullable, required
      - `tx_id` string
      - `block_height` integer, nullable
      - `timestamp` string, date-time, nullable
      - `explorer_url` string, uri, nullable
    - `record_uri` string, uri, required
  - `issued_at` string, date-time, nullable
  - `expires_at` string, date-time, nullable
  - `revoked_at` string, date-time, nullable
  - `revocation_reason` string, nullable
  - `created_at` string, date-time, required
  - `verify_url` string, uri, required

## Other responses

- `404`: Resource not found

---

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