> ## Documentation Index
> Fetch the complete documentation index at: https://docs.docketstream.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Corrections API: Search GDC Offender and Parolee Records

> GET /corrections searches Georgia Department of Corrections data including GDC offenders, parolees, sex offenders, and release date information.

The Corrections endpoints expose Georgia Department of Corrections (GDC) data, including active offender records, parolee information, sex offender registry entries, and projected or confirmed release dates. This data is sourced directly from GDC and cross-referenced with DocketStream's live roster to give you a unified view of an individual's correctional history — from initial booking through sentence completion and parole.

***

## GET /corrections

Search GDC records across all categories. Returns a paginated list sorted by name by default. Combine filters to narrow results to a specific individual or population segment.

```bash theme={null}
GET https://api.docketstream.org/v1/corrections?name=Jane+Smith&category=parolee
Authorization: Bearer YOUR_API_KEY
```

### Query Parameters

<ParamField query="name" type="string">
  Offender name to search for. Partial, case-insensitive matching is applied.
</ParamField>

<ParamField query="gdc_id" type="string">
  Exact GDC offender identifier (e.g., `"GDC-789012"`). When provided, returns
  at most one record.
</ParamField>

<ParamField query="category" type="string">
  Filter by offender category. Accepted values:

  * `"offender"` — currently or previously incarcerated GDC offenders
  * `"parolee"` — individuals serving parole terms in the community
  * `"sex_offender"` — registered sex offenders
</ParamField>

<ParamField query="status" type="string">
  Filter by current status. Accepted values: `"incarcerated"`, `"paroled"`, or
  `"released"`.
</ParamField>

<ParamField query="limit" type="integer" default="50">
  Maximum number of records to return per page. Minimum: `1`. Maximum: `200`.
</ParamField>

<ParamField query="offset" type="integer" default="0">
  Number of records to skip before returning results. Use with `limit` to
  paginate through large result sets.
</ParamField>

### Response

```json theme={null}
{
  "total": 1,
  "records": [
    {
      "gdc_id": "GDC-789012",
      "name": "Jane Smith",
      "dob": "1990-07-14",
      "category": "parolee",
      "institution": "Arrendale State Prison",
      "sentence": "5 years",
      "status": "paroled",
      "release_date": "2023-11-01",
      "parole_end_date": "2026-11-01"
    }
  ]
}
```

### Response Fields

<ResponseField name="total" type="integer">
  The total number of GDC records matching your query across all pages.
</ResponseField>

<ResponseField name="records" type="array">
  An array of GDC offender record objects.

  <ResponseField name="records[].gdc_id" type="string">
    The unique GDC offender identifier assigned by the Georgia Department of
    Corrections.
  </ResponseField>

  <ResponseField name="records[].name" type="string">
    The offender's full name as it appears in GDC records.
  </ResponseField>

  <ResponseField name="records[].dob" type="string">
    Date of birth in `YYYY-MM-DD` format.
  </ResponseField>

  <ResponseField name="records[].category" type="string">
    Offender category: `"offender"`, `"parolee"`, or `"sex_offender"`.
  </ResponseField>

  <ResponseField name="records[].institution" type="string | null">
    Name of the GDC facility where the individual is or was incarcerated. May be
    `null` for released or paroled individuals who have left GDC custody.
  </ResponseField>

  <ResponseField name="records[].sentence" type="string | null">
    Human-readable sentence length (e.g., `"5 years"`, `"Life"`), or `null` if
    not available.
  </ResponseField>

  <ResponseField name="records[].status" type="string">
    Current status: `"incarcerated"`, `"paroled"`, or `"released"`.
  </ResponseField>

  <ResponseField name="records[].release_date" type="string | null">
    Actual or projected release date in `YYYY-MM-DD` format, or `null` if not
    available. For incarcerated individuals, this is the projected release date.
  </ResponseField>

  <ResponseField name="records[].parole_end_date" type="string | null">
    Date the individual's parole term is scheduled to end, in `YYYY-MM-DD`
    format. `null` for non-parolees or when the date is unavailable.
  </ResponseField>
</ResponseField>

***

## GET /corrections/{gdc_id}

Retrieve the complete GDC record for a single offender by their GDC ID. This endpoint returns all fields from the list response plus a `county_records` array that links the GDC record to related DocketStream roster entries.

```bash theme={null}
GET https://api.docketstream.org/v1/corrections/GDC-789012
Authorization: Bearer YOUR_API_KEY
```

### Path Parameter

<ParamField path="gdc_id" type="string" required>
  The GDC offender identifier (e.g., `"GDC-789012"`). GDC IDs are returned by
  `GET /corrections` and in the `gdc_match` object of `GET /roster/{id}`.
</ParamField>

### Response

Returns all fields from the list response, plus:

<ResponseField name="county_records" type="array">
  An array of linked DocketStream roster entries for this individual. Each entry
  represents a county jail booking that DocketStream has matched to this GDC
  record.

  <ResponseField name="county_records[].roster_id" type="string">
    The DocketStream roster record ID (e.g., `"cltn-2024-00123"`). Pass this to
    `GET /roster/{id}` to retrieve the full booking detail.
  </ResponseField>

  <ResponseField name="county_records[].county" type="string">
    Display name of the county where the booking occurred.
  </ResponseField>

  <ResponseField name="county_records[].booking_date" type="string">
    ISO 8601 timestamp of the booking event.
  </ResponseField>

  <ResponseField name="county_records[].status" type="string">
    Booking status at the time of last roster refresh: `"booked"` or
    `"released"`.
  </ResponseField>

  <ResponseField name="county_records[].roster_url" type="string">
    Fully-qualified URL to retrieve the full roster record via the Roster API.
  </ResponseField>
</ResponseField>

<Note>
  GDC data is sourced from the Georgia Department of Corrections and reflects
  the most recent data available from GDC's published systems. DocketStream does
  not guarantee real-time accuracy of GDC-sourced fields such as
  `release_date` or `parole_end_date`, as these may change based on court
  orders or administrative decisions.
</Note>
