---
title: "Read the question catalog and the caller's own application"
method: GET
path: "/api/hack/apply"
tags: ["hack"]
---

# Read the question catalog and the caller's own application

`GET /api/hack/apply`

## Request

- Base URL: `https://www.immersivecommons.com`
- URL: `https://www.immersivecommons.com/api/hack/apply`
- Auth: one of:
  - API key in cookie `__session`
  - HTTP bearer

Clerk session or agt_ token with `hack:read`. The catalog is the identical object the MCP tool `ic_hack_application_form` returns, so the rendered form and the agent-facing form cannot disagree about what is asked or what is required. Also returns the caller's roster row when they have one, because NDA state lives THERE and not on the application. `open` is computed server-side so the button and the POST cannot disagree about whether the door is open.

## Query parameters

- `eid` string
- `type` string

## Response `200`

Phase, form, and the caller's own application if any.

- HackApplyFormResponse
  - `ok` boolean, required
  - `eid` string, required
  - `phase` string, required: PRE | OPEN | ... — the door is open only at OPEN.
  - `nda_required` boolean
  - `roster` object, nullable: The caller's roster row when they have one. NDA state lives HERE, not on the application.
    - `roles` string[]
    - `nda_signed_at` string, date-time, nullable
    - `checked_in_at` string, date-time, nullable
  - `open` boolean, required: Computed server-side so the button and the POST cannot disagree.
  - `types` string[], required: The valid applicant types.
  - `form` object, required: The question catalog — the identical object the MCP form tool returns.
  - `application` object, nullable: The caller's own application, or null.
  - `via` 'clerk' | 'agent'

## Other responses

- `400`: Unknown applicant type.
- `401`: No auth.
- `404`: No such event.

---

[API](https://skmtc.dev/immersivecommons/apis/immersive-commons-agent-rest-api.md) · [All operations](https://skmtc.dev/immersivecommons/apis/immersive-commons-agent-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/immersivecommons/apis/immersive-commons-agent-rest-api/revisions/be67c1f67c27?raw)
