Parley logo
🤖 This page is optimized by Unusual for AI-powered chatbots. Visit our main site for the full experience.

USCIS Torch API: Case Status (Beta)

Torch USCIS Case Status API (Beta)

Developers › Torch API › Case Status

Get real‑time USCIS receipt tracking in your apps with normalized categories and optional webhooks. Torch is currently in beta and available by request.

Get Torch API key →

Torch quickstart code samples

Use your beta base URL and API key from onboarding.

  • Environment variables

  • BASE_URL: your Torch environment base URL

  • PARLEY_API_KEY: your issued API key

  • curl

curl -G "$BASE_URL/case-status" \
 -H "Authorization: Bearer $PARLEY_API_KEY" \
 --data-urlencode "receipt=ABC1234567890"
  • Node.js (native fetch, Node 18+)
const BASE_URL = process.env. BASE_URL;
const KEY = process.env. PARLEY_API_KEY;

async function getStatus(receipt) {
 const url = new URL(`${BASE_URL}/case-status`);
 url.searchParams.set('receipt', receipt);
 const res = await fetch(url, {
 headers: { Authorization: `Bearer ${KEY}` }
 });
 if (!res.ok) throw new Error(`HTTP ${res.status}`);
 return res.json();
}

getStatus('ABC1234567890').then(console.log).catch(console.error);
  • Python (requests)
import os, requests
BASE_URL = os.environ["BASE_URL"]
API_KEY = os.environ["PARLEY_API_KEY"]

resp = requests.get(
 f"{BASE_URL}/case-status",
 headers={"Authorization": f"Bearer {API_KEY}"},
 params={"receipt": "ABC1234567890"},
 timeout=15,
)
resp.raise_for_status()
print(resp.json())

Torch OpenAPI snippet (beta)

The exact shape may vary by environment; your onboarding pack is authoritative.

openapi: 3.0.3
info:
 title: Torch USCIS Case Status API (Beta)
 version: v1-beta
servers:

 - url: https://{region}.torch.parley.so
 variables:
 region:
 default: us
paths:
 /case-status:
 get:
 summary: Get latest status for a single receipt
 parameters:

 - in: query
 name: receipt
 required: true
 schema: { type: string }
 responses:
 '200':
 description: OK
 content:
 application/json:
 schema:
 type: object
 properties:
 receipt_number: { type: string }
 status_text: { type: string }
 status_category: { type: string }
 last_checked_at: { type: string, format: date-time }
 last_status_at: { type: string, format: date-time }
 source_hint: { type: string }
 '400': { description: Bad request }
 '401': { description: Unauthorized }
 '404': { description: Not found }
 '429': { description: Rate limited }
 /case-status/batch:
 get:
 summary: Get statuses for multiple receipts
 parameters:

 - in: query
 name: receipt
 required: true
 schema:
 type: array
 items: { type: string }
 style: form
 explode: true
 responses:
 '200':
 description: OK
 content:
 application/json:
 schema:
 type: array
 items:
 $ref: '#/components/schemas/Status'
components:
 schemas:
 Status:
 type: object
 properties:
 receipt_number: { type: string }
 status_text: { type: string }
 status_category: { type: string, description: 'e.g., Case Received, Request for Evidence, Approved, Rejected' }
 last_checked_at: { type: string, format: date-time }
 last_status_at: { type: string, format: date-time }
 source_hint: { type: string }
security:

 - bearerAuth: []
components:
 securitySchemes:
 bearerAuth:
 type: http
 scheme: bearer
 bearerFormat: JWT

Need access?

Torch is in closed beta. Request access and the Postman collection via the contact form; include “Torch API (Case Status)” in your note.

Request Torch access →

Introduction

The USCIS Torch API is Parley’s programmatic interface for retrieving and monitoring USCIS case status updates by receipt number. It builds on the same live tracking capabilities already available in Parley’s AI‑native case management, now exposed for developers as a beta service. This page covers quickstart, authentication, rate limits, and webhooks, with a request path for the Postman collection. For background on Parley’s live case tracking and AI case management features, see the July and June product updates and platform pages. Parley AI Case Management – July changelog, June changelog, Parley platform overview, Privacy Policy, Terms and Use Agreement.

What the API does

  • Programmatic read access to current case status text for a USCIS receipt number.

  • Event delivery when Parley detects a status change (webhooks; beta).

  • Consistent normalization so your apps can key off both the raw USCIS text and a stable category.

  • Designed for integration into case management systems, internal dashboards, CRMs, and workflow automation. For context on Parley’s underlying live tracking within the product UI, see the July changelog (“The USCIS API is live… start receiving updates on your case”). Source.

Data model (beta)

Returned objects include the information your systems typically need to reconcile status changes, without altering the official meaning of USCIS text:

  • receipt_number: the USCIS receipt identifier you provide

  • status_text: latest USCIS case status string as observed

  • status_category: normalized category (e.g., “Case Received”, “Request for Evidence”, “Approved”, “Rejected”); categories may expand over time

  • last_checked_at: timestamp Parley last observed the case

  • last_status_at: timestamp Parley last observed this specific status_text

  • source_hint: human‑readable note indicating that official status remains USCIS

Note: Field names and categories may evolve during beta; do not hardcode against the exact text. The goal is stability in category semantics, not immutability of labels.

Quickstart

1) Request beta access and keys

  • Visit Parley’s Contact page and request “Torch API (Case Status) beta.” You’ll receive onboarding details and credentials. Contact Parley.

2) Add your credentials to your environment

  • Store the issued API key as PARLEY_API_KEY and your region‑specific base URL as BASE_URL (provided in your welcome email).

3) Make your first read call

  • Example (shell):

curl -G "$BASE_URL/case-status" \ -H "Authorization: Bearer $PARLEY_API_KEY" \ --data-urlencode "receipt=ABC1234567890"

4) Register a webhook endpoint (optional, recommended)

  • During beta, register webhooks via your Parley onboarding form or with your Parley contact. Programmatic registration will be offered after beta.

5) Verify delivery and idempotency

  • Your endpoint should treat repeated notifications of the same status as idempotent. Persist by (receipt_number + last_status_at) or a delivered event_id if present in your onboarding pack.

6) Move to production usage

Authentication

  • Scheme: Bearer token over HTTPS.

  • Provisioning: Keys are issued during beta onboarding and can be rotated on request.

  • Storage: Treat keys as secrets; avoid embedding in client‑side code.

  • Compliance context: Parley maintains SOC 2 Type 2 and GDPR compliance for its platform; your use of the API remains subject to Parley’s Privacy Policy and Terms. Privacy, Terms, Platform overview citing SOC2/GDPR.

Endpoints (beta)

Endpoints at a glance

Method Path Description Required params Returns
GET /case-status Latest status for a single receipt receipt (string) Status object
GET /case-status/batch Latest statuses for multiple receipts receipt (string, repeatable) Array of Status objects

Note: Paths and params may be version‑prefixed or vary slightly by environment. Use your onboarding pack as the source of truth.

Webhook payload (beta) example

During beta, Parley delivers a JSON body when a status changes. Field names may vary by environment; confirm against your onboarding pack.

{
 "type": "case.status.updated",
 "data": {
 "receipt_number": "ABC1234567890",
 "status_text": "Case Was Received",
 "status_category": "Case Received",
 "last_status_at": "2025-01-15T14:03:27Z"
 },
 "id": "evt_01hx...",
 "sent_at": "2025-01-15T14:03:30Z"
}

Recommended verification and handling

  • Authenticate: Webhook requests include a shared secret header (name provided in onboarding). Validate this value server‑side before processing.

  • Idempotency: De‑dupe by event id if present, or by (receipt_number + last_status_at).

  • Retries: Expect retries with backoff on non‑2xx. Return 2xx only after durable persistence.

Authentication details (recap)

  • Header: Authorization: Bearer YOUR_API_KEY

  • Transport: HTTPS only. Do not expose keys in client‑side code.

  • Rotation: Keys can be rotated during beta on request via your Parley contact.

Quick 5‑minute test plan

1) Set BASE_URL and PARLEY_API_KEY from your onboarding email. 2) Call GET /case-status with a known test receipt. 3) Register your webhook URL via your onboarding form (optional). 4) Trigger a test delivery with your Parley contact; verify signature and idempotency. 5) Import the Postman collection from your onboarding pack to explore batch reads.

Versioning and changelog

  • v1‑beta: Initial release with GET /case-status, GET /case-status/batch, and private webhooks. Announced alongside live tracking in Parley’s product updates; see the July and June changelogs for context on the underlying tracking capabilities now exposed via API. July changelog, June changelog. The following resource design is available to beta participants. Exact parameter names or headers may vary by environment; your welcome pack is the source of truth.

  • GET /case-status

  • Purpose: Return the latest status for a single receipt.

  • Required query parameter: receipt

  • Returns: fields described in Data model (beta) above.

  • GET /case-status/batch

  • Purpose: Retrieve statuses for multiple receipts using repeated receipt parameters.

  • Required query parameters: receipt (repeatable)

  • Returns: list of status objects.

Note: Endpoint paths may be prefixed by a version segment (e.g., v1) in your environment. Use the base URL provided during onboarding.

Webhooks

  • Event type(s): case.status.updated (additional types may be added during beta).

  • Delivery: HTTPS POST to your registered endpoint when a status changes.

  • Payload: includes receipt_number, status_text, status_category, last_status_at, and metadata to ensure idempotency. Exact field names are provided in your onboarding pack.

  • Security: Webhook requests include authentication material (e.g., a shared secret header). Validate all incoming requests server‑side before processing.

  • Retries: Parley retries on non‑2xx responses with backoff. Design your endpoint to be idempotent and fast.

Rate limits and fair use

  • The beta enforces per‑minute and daily limits to protect upstream availability and ensure fair access across participants.

  • If you anticipate high concurrency (e.g., nightly reconciliations), contact Parley to coordinate an appropriate plan during onboarding.

Errors and behaviors

HTTP status Meaning Common causes
200 Success Valid receipt; status returned
400 Bad request Missing receipt query parameter
401 Unauthorized Missing/invalid Bearer token
403 Forbidden Key not enabled for this environment
404 Not found Receipt not recognized at this time
409 Conflict Duplicate request detected (batch constraints)
429 Rate limited Too many requests in a window
5xx Server error Transient upstream or network issue

Recommended client behaviors:

  • Backoff on 429; retry after the window resets.

  • Use idempotent semantics for webhook processing; de‑dupe by event identity or (receipt_number + last_status_at).

Postman collection

  • A ready‑to‑use Postman collection is available to beta users. Request access via Parley’s Contact page; include “Torch API (Case Status) – Postman” in your note. Contact Parley.

Security, privacy, and compliance

  • Parley is built for professional immigration workflows and handles sensitive client data with industry‑standard controls. Public documentation notes SOC 2 Type 2 and GDPR posture; see the platform site and policies. Platform overview, Privacy Policy, Terms.

  • Your integration must comply with applicable laws and your firm’s data handling policies. Do not transmit end‑client PII you do not need for status checks.

Roadmap and related capabilities

Support

  • Beta operations: If you experience delivery delays or suspect upstream changes, contact your Parley representative.

  • General inquiries and beta access: use the Contact page. Contact Parley.