---
title: "Apply for free academic and nonprofit research access"
method: POST
path: "/v1/research-access"
---

# Apply for free academic and nonprofit research access

`POST /v1/research-access`

## Request

- Base URL: `https://api.hlaverify.com`
- URL: `https://api.hlaverify.com/v1/research-access`
- Auth: one of:
  - none
  - API key in header `X-API-Key`

Files one application per address for the research and education programme. Approval is manual: a person reads every application, there is no automatic decision, no service level and no guarantee. An approved applicant is emailed a single-use Stripe promotion code, redeemed at self-serve checkout against any tier: it takes 100% off for 12 months, so the total is $0, Stripe collects no card, and the API key is issued by the same webhook that issues a paid one. Re-submitting the same address returns already_recorded and never overwrites an application that has already been decided. Stores what you send plus a timestamp, CF-IPCountry and a status, and no IP address. The record is not an API key and cannot be used as one. Not billable against the daily quota, but rate limited like every other /v1/ route (60 requests/minute per IP without a key).

## Request body

- object
  - `email` string, required: Where the approval code is sent.
  - `institution` string, required: University, hospital, institute or nonprofit the work is done at.
  - `use_case` string, required: What the research or teaching is and what the API would do in it. This is what the decision is made on. No patient details.
  - `expected_volume` string
  - `source` string: Free-text hint: site, mcp, docs.

## Response `200`

recorded or already_recorded

- object
  - `ok` boolean, required
  - `status` 'recorded' | 'already_recorded', required
  - `message` string, required
  - `release` string, required

## Other responses

- `422`: invalid email, a missing or empty required field, or an oversized field
- `429`: rate limited (60 req/min per IP; /v1/research-access does not consume daily quota)
- `503`: the application store is not available on this deployment

---

[API](https://skmtc.dev/hlaverify/apis/hla-verify.md) · [All operations](https://skmtc.dev/hlaverify/apis/hla-verify/llms.txt) · [OpenAPI document](https://skmtc.dev/hlaverify/apis/hla-verify/revisions/40cd5e7d134d?raw)
