---
title: "Source-linked asylum application outcomes for an exact cohort"
method: GET
path: "/v1/immigration/analytics"
---

# Source-linked asylum application outcomes for an exact cohort

`GET /v1/immigration/analytics`

## Request

- Base URL: `https://api.knowjudges.com`
- URL: `https://api.knowjudges.com/v1/immigration/analytics`
- Auth: none declared

Asylum outcomes support joint nationality, calendar/fiscal proceeding-completion year and recorded court state filters. Explicit proceeding_removal_rate supports joint proceeding outcomes with partial cell coverage. Asylum percentages use grant-coded plus denied outcomes; procedural outcomes are separate. Comparisons default to minimum_decisions 1, label samples below 35, and return up to ten entities.

## Query parameters

- `entity` 'judge' | 'court', required
- `metric` 'asylum_denial_rate' | 'proceeding_removal_rate'
- `year` integer
- `year_basis` 'calendar' | 'fiscal'
- `nationality` string
- `state` string
- `profile_url` string, uri, required

## Response `200`

Analytics results or explicit coverage/unavailability status

- object
  - `availability` 'available' | 'dataset_unavailable' | 'breakdown_unavailable' | 'period_unavailable' | 'nationality_unavailable' | 'no_qualifying_results', required
  - `message` string, required
  - `metric` 'asylum_denial_rate' | 'proceeding_removal_rate', required
  - `nationality` string, nullable, required
  - `state` string, nullable, required
  - `period` object, required
    - `year` integer, nullable, required
    - `year_basis` string, required
    - `date_basis` string, required
    - `coverage` string, required
  - `denominator_definition` string, required
  - `geography_definition` string, required
  - `minimum_decisions` integer, required
  - `eligible_entities` integer, required
  - `source` object, nullable, required
    - `url` string, uri, required
    - `methodology_url` string, uri, required
    - `snapshot` string, required
    - `release` string, required
  - `limitations` string[], required
  - `results` object[], required
    - `name` string, required
    - `profile_url` string, uri, nullable, required
    - `court_name` string, nullable, required
    - `court_url` string, uri, nullable, required
    - `granted` integer, required
    - `denied` integer, required
    - `other_outcomes` integer, required
    - `excluded` integer, required
    - `decisions` integer, required
    - `removal_orders` integer, nullable
    - `relief_granted` integer, nullable
    - `outcome_denominator` integer
    - `grant_rate` number, nullable, required
    - `denial_rate` number, nullable, required
    - `removal_rate` number, nullable, required
    - `sample_note` string, nullable, required
    - `current_roster_count` integer, nullable, required
    - `analytics_judge_count` integer, nullable, required

## Other responses

- `400`: Invalid filters
- `429`: Shared access allowance exceeded
- `503`: Analytics storage unavailable

---

[API](https://skmtc.dev/knowjudges/apis/knowjudges-public-api.md) · [All operations](https://skmtc.dev/knowjudges/apis/knowjudges-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/knowjudges/apis/knowjudges-public-api/revisions/24ce4cf0d3b7?raw)
