Which expunction statute and AOC petition form fit how each charge ended

Reads a case's per-charge dispositions and routes each to the NC expunction statute(s) covering that outcome, with AOC petition/instruction links, the filing county, and the fee. CHECK automaticExpunction FIRST AND LEAD WITH IT: under G.S. 15A-146(a4) a case where EVERY charge was dismissed without leave, dismissed by the court, or ended in a not-guilty/not-responsible finding — all disposed on or after 12/01/2021, with no felony dismissed pursuant to a plea agreement — is expunged BY OPERATION OF LAW, with NO petition, NO form and NO fee. That is the one determination this endpoint makes, and it is safe because (a4) turns only on how the charges on this case ended, not on anything person-level; determinable:false means the record could not answer (an undisposed or unrecognised disposition) and must not be read as a 'no'. Do not lead with petition forms when applies is true. TIMING DEPENDS ON automaticExpunction.regime AND THE WINDOW IS NOT ALWAYS AVAILABLE — check windowDeterminable before using windowOpens/windowCloses. current = the 180-210 day rule, windows populated. original (disposed 12/01/2021-07/31/2022) = the programme ran immediately with no delay, windows NULL, it should already have happened. backlog (disposed during the statutory suspension 08/01/2022-07/01/2024) = windows NULL, NCAOC had until 07/01/2025 to clear the backlog. NEVER invent a window when windowDeterminable is false — a fabricated past date tells someone a deadline passed when none ever ran; the notes array carries the correct wording per regime. Point at the clerk in fileInCounty BY NAME: under G.S. 15A-151(a2) a clerk cannot disclose another county's expunged record. Both limits of an (a4) expunction belong in any answer: G.S. 15A-150(b)'s agency-notice requirement does NOT apply to automatic expunctions, so other agencies may never learn of it; and under 15A-151(a1)/(a2) the record is retained by the clerk as a confidential file, with AOC holding electronic copies, still disclosable to the person, their attorney, the DA and the Appellate Defender — 'gone from the public index' is not 'gone'. OTHERWISE THIS ROUTES; IT DOES NOT DETERMINE ELIGIBILITY. Eligibility is person-level — a disqualifying conviction anywhere bars relief and identity cannot be confirmed here (DOB rarely published, masked to the year); a prior expunction can itself disqualify and an expunged case is REMOVED from the record, so that disqualifier is structurally invisible; and some expunctions bar future ones, so which statute you petition under matters. 'Not yet eligible' is safe to say (it is arithmetic); 'eligible' never is. Waiting periods are G.S. 15A-145.5(c): 3 years one nonviolent misdemeanour, 7 more than one, 10 one nonviolent felony, 15 for 14-54(a) breaking/entering, 20 for two or three felonies — and THE DATE RETURNED IS THE EARLIEST POSSIBLE, because the statute runs the clock from conviction OR completion of any sentence/probation/post-release supervision, whichever is later, and completion dates are not in the record. Per charge, family is dismissed | acquitted | convicted | pjc | unknown: a dismissal with withLeave:true can be REINSTATED by the State (and defeats (a4)); perPleaAgreement:true routes to the deferred-prosecution branch of 15A-146; 'acquitted' is a not-guilty/not-responsible finding, routing to 15A-146(a2) and qualifying under (a4); 'pjc' is neither conviction nor dismissal so no statute is suggested; 'unknown' means the register text did not map (e.g. 'Superior Process/ Probation Other') and the full table is returned instead — do not guess. A charge with probationMatter:true is the exception: that is a G.S. 15A-1344/1345 probation proceeding, not a charge, and it returns NO statutes by design — an empty list there is an answer, not a gap. It is not a conviction and not a bar; any petition belongs on the underlying conviction file, in the county where that conviction was entered (G.S. 15A-150(b)). Impaired-driving charges return no statutes (G.S. 15A-145.5(a1)). G.S. 15A-146(a6): a court may grant a petition under that section without a hearing except where it provides otherwise. Also exposed as the check_expunction_options MCP tool.

get/api/expunction-options

Request

  • Base URL: https://app.courtdelta.com
  • URL: https://app.courtdelta.com/api/expunction-options
  • Auth: none required

Query parameters

casestring

NC case number. Omit to get the full statute table with no routing.

felonyboolean

Treat convictions as felonies for the waiting-period calculation.

convictionCountinteger

How many nonviolent convictions are on the person's record. Cannot be derived here; changes the 3-year track to 7 (or 10 to 20 for felonies).

Response

Per-charge routing, filing details and caveats

Changes

No recorded changes to this operation across all 1 revision of this API.