---
title: "Poll the caller's own ownership claim"
method: GET
path: "/api/startups/{slug}/claim"
tags: ["startups"]
---

# Poll the caller's own ownership claim

`GET /api/startups/{slug}/claim`

## Request

- Base URL: `https://www.immersivecommons.com`
- URL: `https://www.immersivecommons.com/api/startups/{slug}/claim`
- Auth: one of:
  - API key in cookie `__session`
  - HTTP bearer

Same capability gate as the POST. Grounded in real state rather than a fabricated job store: `approved` means the caller is now in the slug's bound owner set, `pending` means they still have a live row in the operator queue, and `gone` means neither - rejected, expired, or never filed. Only the caller's own claim is ever returned.

## Path parameters

- `slug` string, required

## Response `200`

The caller's claim status.

- StartupClaimStatusResponse
  - `ok` boolean, required
  - `startup_slug` string, required
  - `startup_name` string
  - `status` 'pending' | 'approved' | 'gone', required: `gone` covers rejected, expired, and never-filed — they are one state from the caller's side.
  - `owner` boolean: true once the caller is in the slug's bound owner set.
  - `request_id` string: Present while pending.
  - `job_id` string: Present while pending.
  - `submitted_at` string, date-time: Present while pending.

## Other responses

- `400`: Missing slug.
- `401`: No auth.
- `403`: Scope/tier not authorized.
- `404`: No such startup.

---

[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)
