Skip to main content
GET /v1/issuer/verify/{uuid} Public

Verify a credential by UUID

Look up and verify a credential by its UUID. Returns verification status and credential details.

Parameters

Name Location Type Description
uuid * path string The unique identifier of the credential to verify
X-API-Key header string Optional API key for verifier authentication. When provided, credential claims are included in the response. Without an API key, only verification status is returned.

* Required parameter

Response

200 Claims included with API key

Content-Type: application/json

Verification response with standard envelope. Contains: - success: Whether the API call succeeded - data: Object with verified (bool), status (string), message, verified_at, credential details

success * boolean

Whether the API call succeeded

Example: true

data * object

Verification result data

verified * boolean

Whether the credential is valid

Example: true

status * string

Detailed verification result code: - success: Credential is valid and all checks passed - not_found: No credential exists with the given identifier - invalid_signature: Cryptographic signature verification failed - expired: Credential has passed its expiration date - revoked: Credential was permanently invalidated by the issuer - suspended: Credential is temporarily disabled - malformed: Credential format is invalid or corrupted

Allowed values: "success", "not_found", "invalid_signature", "expired", "revoked", "suspended", "malformed"

Example: success

message string

Human-readable verification message

Example: Credential verified successfully

verified_at string (date-time)

When verification was performed

Example: 2025-01-15T10:30:00Z

trust_path string

Trust verification path used

Example: did:web

error string nullable

Error message if verification failed

trust object nullable

Trust information for the issuer

verdict string

Trust verdict

Example: trusted

score number

Trust score

Example: 85.0

source_type string

Source of trust information

Example: did:web

domain string nullable

Issuer domain

Example: acme-corp.com

domain_fully_verified boolean

Whether domain is fully verified

Example: true

signals array[object]

Trust signals with status indicators

Array items:

icon string

Visual indicator character

Example:

text string

Signal description

Example: Domain ownership verified

status string

Signal status level

Allowed values: "success", "danger", "neutral"

Example: success

warnings array[string]

Trust warnings

Array items:

credential object nullable

Credential details (only present when credential is found)

uuid string (uuid)

Example: f74aeab4-8a6c-408f-b52b-58112bd18183

status string

Example: active

type string

Credential type

Example: EmployeeBadgeCredential

type_display string

Human-readable credential type

Example: Employee Badge

schema object nullable
uuid string (uuid)

Example: e6cac86d-df2e-430f-bb62-f416218eabdb

name string

Example: Employee Badge Schema

issuer object
name string

Example: Acme Corporation

did string

Example: did:web:acme-corp.com

domain string nullable

Example: acme-corp.com

domain_fully_verified boolean

Example: true

subject object
identifier_type string nullable

Example: email

did string nullable

Example: did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK

issued_at string (date-time)

Example: 2025-01-01T00:00:00Z

expires_at string (date-time) nullable

Example: 2027-01-01T00:00:00Z

claims object nullable

Credential claims (only when authenticated)

Example: {"name":"Jane Smith","title":"Software Engineer","department":"Engineering"}

Code Examples

import os
from aho_sdk import AhoSdk

client = AhoSdk.issuer(api_key=os.environ["AHO_API_KEY"])

result = client.verify.get(
    uuid="example_uuid"
)

Try It

Log in to test this endpoint directly from the documentation.

Log in