> For the complete documentation index, see [llms.txt](https://api-docs.visadoc.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://api-docs.visadoc.co/use-cases/returning-traveller-fast-path.md).

# Returning Traveller Fast Path

**One line:** Recognise a traveller who has been through VisaDoc before and reuse their record instead of creating a duplicate.

**Best for:** Frequent business travellers who have already been through VisaDoc once.

## Flow

```mermaid
sequenceDiagram
  participant You
  participant VisaDoc
  You->>VisaDoc: POST /applicants/search (filter by email)
  VisaDoc-->>You: existing applicant?
  alt Found
    You->>You: Reuse the applicant id
  else Not found
    You->>VisaDoc: POST /applicants/new
    VisaDoc-->>You: applicant id
  end
  You->>VisaDoc: POST /assessments/new (new trip)
  You->>VisaDoc: POST /applications/new (existing applicant_id)
```

1. `POST /applicants/search` with `{ "filters": { "email": "traveller@acme.com" }, "page": 1, "per_page": 1 }` to check whether the traveller already exists.
2. If found, reuse their `id` as `applicant_id`. Optionally call `GET /applicants/{applicant_id}`: a non-empty `default_profile` means VisaDoc holds a saved profile for them.
3. If not found, create them with `POST /applicants/new`.
4. Run `POST /assessments/new` for the new trip. The assessment takes the trip fields directly, not an applicant ID.
5. `POST /applications/new` with the existing `applicant_id`, or hand the traveller over with a [magic link](/magic-link.md).

**Consider:** The API returns only the ID of the saved profile, not its contents, so you can't pre-fill your own forms from it. The reuse happens inside VisaDoc, which pre-fills the traveller's next assessment and application from their saved profile. Reusing the record avoids duplicate travellers, keeps each traveller's history in one place, and reduces repeated PII transfer. Pairs naturally with the [handoff pattern](/use-cases/assessment-driven-handoff.md).

**Endpoints:** `POST /applicants/search`, `GET /applicants/{applicant_id}`, `POST /applicants/new`, then assessment / application.
