---
title: "Get Passport"
method: GET
path: "/api/v1/public/passport/{slug}"
tags: ["travel-passport-public"]
---

# Get Passport

`GET /api/v1/public/passport/{slug}`

## Path parameters

- `slug` string, required

## Response `200`

Successful Response

- PassportPublicResponse
  - `id` string, uuid, required
  - `country` string, required
  - `country_slug` string, required
  - `status` 'published', required
  - `result` PassportResult, required — The full passport payload rendered on the public card. Stored as JSON.
    - `country` string, required
    - `country_slug` string, required
    - `dna` DnaDimension[], required
      - `label` string, required
      - `pct` integer, required
      - `evidence` Evidence, required — Grounding for a single claim: how many scan responses supported it.
        - `count` integer, required
        - `engines` string[]
        - `personas` string[]
        - `by_engine` object
    - `top_destinations` DestinationClaim[], required
      - `name` string, required
      - `evidence` Evidence, required — Grounding for a single claim: how many scan responses supported it.
        - `count` integer, required
        - `engines` string[]
        - `personas` string[]
        - `by_engine` object
    - `overlooked_destinations` DestinationClaim[], required
      - `name` string, required
      - `evidence` Evidence, required — Grounding for a single claim: how many scan responses supported it.
        - `count` integer, required
        - `engines` string[]
        - `personas` string[]
        - `by_engine` object
    - `traveler_match` DnaDimension[], required
      - `label` string, required
      - `pct` integer, required
      - `evidence` Evidence, required — Grounding for a single claim: how many scan responses supported it.
        - `count` integer, required
        - `engines` string[]
        - `personas` string[]
        - `by_engine` object
    - `stereotypes` StereotypeClaim[], required
      - `phrase` string, required
      - `evidence` Evidence, required — Grounding for a single claim: how many scan responses supported it.
        - `count` integer, required
        - `engines` string[]
        - `personas` string[]
        - `by_engine` object
    - `competitive_leakage` CompetitorLeakage[], required
      - `country` string, required
      - `evidence` Evidence, required — Grounding for a single claim: how many scan responses supported it.
        - `count` integer, required
        - `engines` string[]
        - `personas` string[]
        - `by_engine` object
    - `source_power_map` SourceRef[], required
      - `domain` string, required
      - `evidence` Evidence, required — Grounding for a single claim: how many scan responses supported it.
        - `count` integer, required
        - `engines` string[]
        - `personas` string[]
        - `by_engine` object
    - `opportunity` string, nullable
    - `total_queries` integer, required
    - `successful_queries` integer, required
    - `platforms` string[], required
    - `generated_at` string, date-time, required
  - `generation_version` integer, required
  - `generated_at` string, date-time, required
  - `published_at` string, date-time, nullable, required
  - `is_stale` boolean, required

## Other responses

- `404` — Published passport not found
- `422` — Validation Error

## Changes

- **2026-09-03** `d65b8fefae34` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Change history](https://skmtc.dev/getanana/apis/cleon-api/changes/api/v1/public/passport/:slug/get.md)

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getanana/cleon-api/revisions/a9141b6e4e7e/schema)
