# Register event visitors with zero credentials (/use-cases/event-visitor-passes)

Submit visitor-pass applications from your event site, coworking space, or tourism platform — no API key required.



You host a conference in Próspera, run a coworking space, or operate a travel platform, and you want attendees to request their Próspera visitor pass directly from your own registration flow.

**Credential:** none. [POST visitor\_pass\_applications](/reference/post-visitor-pass-applications) is the one unauthenticated endpoint in the API — a deliberate zero-friction entry point.

## The flow [#the-flow]

Collect the visitor's details in your form, then submit them:

```bash
curl -s -X POST https://portal.eprospera.com/api/v1/visitor_pass_applications \
  -H "Content-Type: application/json" \
  -d '{
    "firstName": "Jane",
    "lastName": "Doe",
    "email": "jane@example.com",
    "signature": "<signature string>",
    "consentToBackgroundCheck": true,
    "referralSource": "Acme Conference 2026"
  }'
```

The applicant receives follow-up steps by email; your platform's job ends at submission. Use `referralSource` to identify your event or venue — it's how arrivals get attributed to you.

<Callout title="Consent is required" type="warn">
  `consentToBackgroundCheck` must be `true` and the signature must be the
  applicant's own. Present the consent language to the visitor yourself — don't
  pre-tick it.
</Callout>

## Pair it with verification [#pair-it-with-verification]

If your venue also gates access for existing residents, combine this with [RPN verification](/use-cases/verify-residents) using a standard API key: visitors go through the pass flow, residents get verified in one call.

## What this API does not do [#what-this-api-does-not-do]

* No status polling for visitor passes — the applicant is contacted by email; there is no read-back endpoint.
* No bulk submission; one application per visitor.

## Next steps [#next-steps]

* [POST visitor\_pass\_applications](/reference/post-visitor-pass-applications) — full request schema
* [Getting started](/getting-started) — if you outgrow the no-auth surface
