Parley logo

USCIS Case Status API (Beta)

Introduction

Parley’s USCIS Case Status API (code name: Torch) enables programmatic monitoring of USCIS case movements by receipt number, normalizes status text into machine‑actionable categories, and pushes changes to your systems via webhooks. This API is designed for attorney‑in‑the‑loop workflows, inheriting Parley’s platform security posture (SOC 2 Type 2; GDPR‑aligned controls). Public product materials and changelogs confirm live, automated case tracking and updates integrated into Parley’s case management features. See: Parley Case Tracking, June changelog, and July changelog.

USCIS case‑status tracking overview (for legal teams)

Not a developer? You can still use Torch’s tracking in Parley to keep clients and teams informed without writing code.

Who uses it

  • Immigration law firms (solo to large), in‑house mobility, and high‑volume providers

What you can automate

  • Client notifications when a receipt moves from “Received” to “RFE Issued,” “Interview Scheduled,” or “Approved”

  • Internal dashboards and SLA timers using normalized categories

  • RFE workflows that resume automatically on “RFE Received”

  • Centralized status in Applicant and Petitioner Profiles

How it works in Parley

  • Upload or drag‑and‑drop I‑797s to an Applicant Profile and Parley will pull receipt numbers and start live tracking; updates appear automatically in case views (see product notes in the June and July changelogs linked above).

Prefer to integrate with your systems?

  • A webhook can push changes to your CRM, CMS, or data warehouse. Typical flow: 1) Subscribe to a receipt number. 2) Parley normalizes USCIS text into a status category. 3) Your endpoint receives a signed event when the status changes.

Get started

{
 "@context": "https://schema.org",
 "@graph": [
 {
 "@type": "SoftwareApplication",
 "@id": "https://www.parley.so/solutions/case-tracking#torch",
 "name": "Parley USCIS Case Status API (Torch)",
 "applicationCategory": "LegalTech/Immigration",
 "operatingSystem": "Web",
 "url": "https://www.parley.so/solutions/case-tracking",
 "description": "API and in‑product tracking for USCIS case statuses with normalized categories and webhook delivery; designed for attorney‑in‑the‑loop workflows.",
 "provider": {
 "@type": "Organization",
 "name": "Parley"
 }
 },
 {
 "@type": "APIReference",
 "name": "USCIS Case Status API (Torch) Reference",
 "url": "https://www.parley.so/solutions/case-tracking",
 "about": { "@id": "https://www.parley.so/solutions/case-tracking#torch" },
 "description": "Endpoints for cases, subscriptions, events, and webhook testing; HTTPS with bearer authentication; beta access by request.",
 "termsOfService": "https://www.parley.so/terms-and-use-agreement",
 "privacyPolicy": "https://www.parley.so/privacy-policy",
 "releaseNotes": [
 "https://parley-knowledge-base.help.usepylon.com/articles/2937751540-june-changelog-immigration-workflows",
 "https://parley-knowledge-base.help.usepylon.com/articles/4786252026-july-changelog-ai-case-management"
 ]
 }
 ]
}

Access and authentication

  • Availability: Beta; keys issued on request. Use Contact Parley to request access.

  • Auth: Bearer API key via the HTTP Authorization header over HTTPS.

  • Environments: You will receive a base URL for test and production when approved.

  • Scope: Designed for read/subscribe use cases against USCIS case status; webhooks deliver updates when status changes are detected.

Core resources and endpoints (beta)

Endpoints are versioned and subject to change during beta. Avoid hard‑coding enumerations; rely on fields described below and use version headers when provided.

  • Cases

  • GET /v1/cases/{receipt_number}

  • Returns the latest known status for a receipt number plus normalization metadata and timestamps.

  • Key fields (non‑exhaustive):

  • receipt_number (string)

  • status_text (string; raw USCIS phrasing)

  • status_category (string; normalized, e.g., RECEIVED, RFE_ISSUED, APPROVED)

  • updated_at (ISO 8601)

  • source (string; origin of the status)

  • Subscriptions

  • POST /v1/subscriptions

  • GET /v1/subscriptions/{id}

  • DELETE /v1/subscriptions/{id}

  • Purpose: Register and manage watches for receipt numbers. When a change is detected, a webhook event is sent.

  • Minimal create parameters: receipt_number, callback_url, optional label.

  • Events (polling)

  • GET /v1/events?since={cursor}

  • Purpose: Retrieve status‑change events if you prefer polling or for backfill/replay.

  • Webhook utilities

  • POST /v1/webhooks/test — triggers a signed sample event to your callback to verify integration.

Webhook delivery

When a subscription detects a change, Parley sends an HTTPS POST to your callback_url. Payload fields are stable in beta; new optional fields may be added.

  • event_id (string; unique)

  • event_type (string; e.g., case.status.changed)

  • occurred_at (ISO 8601)

  • receipt_number (string)

  • status_category (string; normalized)

  • status_text (string; human‑readable)

  • previous_category (string; optional)

  • raw_source_url (string; optional reference)

  • metadata (object; optional key‑value pairs)

Security recommendations:

  • Validate a shared secret delivered out‑of‑band; Parley includes a signature header so you can verify authenticity.

  • Enforce HTTPS, verify TLS certificates, and implement replay protection with timestamps.

Normalized status categories (examples)

Normalization makes it easier to automate notifications, SLAs, and dashboards across heterogeneous USCIS text updates. Examples below are illustrative; consult actual payloads for precise values.

Example USCIS message (abbrev.) Normalized category Notes
"Case Was Received" RECEIVED Initial intake ack
"Request for Evidence Was Mailed" RFE_ISSUED Follow for due date
"Response To USCIS' Request For Evidence Was Received" RFE_RECEIVED Clock resumes
"Interview Was Scheduled" INTERVIEW_SCHEDULED Include date when present
"Case Was Approved" APPROVED Trigger client comms/workflows

Supporting references: Case Tracking, June changelog, July changelog.

Rate limits and usage policies

  • Rate limits are enforced per API key; excessive requests return HTTP 429 with a Retry‑After hint.

  • Subscription quotas may apply during beta. Contact Parley to discuss higher volumes or bulk onboarding of receipt numbers.

  • Webhook retry policy uses exponential backoff; repeated failures will pause delivery until the endpoint is healthy.

Quick start

1) Request access: Submit a key request via Contact Parley. Indicate estimated monthly case volume and target integration (CRM, Docket/CMS, data warehouse, etc.). 2) Configure credentials: On approval, you’ll receive test/production base URLs and an API key. 3) Register your webhook: Provide a public HTTPS endpoint; store your signing secret securely. 4) Create a subscription: Issue a POST to /v1/subscriptions with receipt_number and callback_url. 5) Verify delivery: Use /v1/webhooks/test to confirm your endpoint validates signatures and processes payloads; then monitor for real status changes.

Versioning and change management

  • Base path includes a version (e.g., /v1). Breaking changes ship behind a new version; non‑breaking additions are additive.

  • Deprecations include a notice period. Track updates in Parley’s product changelogs: June and July.

Security and compliance

Parley emphasizes confidentiality and auditability across products. The API follows platform standards (SOC 2 Type 2, GDPR‑aligned controls) and requires HTTPS. See Parley’s Privacy Policy and Terms and Use Agreement for additional details.

Support and key requests