This article is for informational purposes only and does not constitute legal advice. Immigration law is complex and individual circumstances vary. Always consult a qualified immigration attorney before making decisions about your case.
You check your USCIS case status for the hundredth time. Instead of a clear answer, you see a cryptic status message and - if you peek at the page source or API response - a four-character code like "FTA0" or "APR0". What do USCIS case status codes actually mean? And more importantly, what do they mean for your green card timeline?
This guide breaks down every common USCIS case status code, explains the pattern behind them, and helps you understand exactly where your case stands.
How USCIS Case Status Codes Work
Every time USCIS updates your case, they assign an internal alphanumeric code. That code maps to the plain-English message you see on the USCIS case status tracker. You never see the raw code on the website itself - it lives behind the scenes in API responses and page metadata.
Here's the pattern. Most codes follow a simple structure:
- First 2-3 letters: An abbreviation of the action or status type (APR = approved, RFE = request for evidence)
- Last digit (usually 0): A variant number. The "0" version is the default message. Higher numbers like 1 or 2 are alternate templates for specific form types or situations.
Understanding this pattern helps you decode any new code you encounter. If you see "DEN1" instead of "DEN0", it's still a denial - just a different message template.
The Complete USCIS Case Status Codes List
Here's every major code you'll encounter when tracking an I-485 or other immigration filing. We've organized them by where they typically fall in the processing timeline.
Receipt and Initial Processing
RCV0 is your starting point. When your I-485, I-140, or any other form hits USCIS, this code triggers the "Case Was Received" message. Your receipt number (like IOE or SRC followed by digits) is generated at this stage.
FTA0 is one of the most searched codes. What does FTA0 mean on USCIS? It simply confirms your fingerprint (biometrics) fee was received and processed. This is routine - it does not mean there's a problem. If you're filing an I-485, this typically shows up within the first few weeks.
Active Processing
| Code | Status Message | What It Means for You |
|---|---|---|
| PRB0 | Case Is Being Actively Reviewed | An officer is looking at your case. Good sign. |
| RFE0 | Request for Evidence Was Sent | USCIS needs more documentation. You typically get 87 days to respond. |
| RIR0 | Response to RFE Was Received | USCIS got your RFE response. Back in the queue. |
| INT0 | Interview Was Scheduled | Check your mail for the interview notice with date, time, and location. |
| INC0 | Interview Was Completed | Interview done. Now you wait for a decision. |
If you see RFE0, don't panic. Requests for evidence are common and don't mean your case is in trouble. Respond thoroughly within the deadline. Missing the deadline can result in a denial.
Decision Codes
These are the codes everyone refreshes their browser hoping (or dreading) to see.
| Code | Status Message | What It Means |
|---|---|---|
| APR0 | Case Was Approved | Your petition or application was approved. |
| APR1 | Case Approved (variant) | Same as APR0, different message template for certain form types. |
| DEN0 | Case Was Denied | Your case was denied. You will receive a written decision with the reasons. |
| NTR0 | Notice of Intent to Deny | USCIS is considering denying your case but giving you a chance to respond first. |
| WTH0 | Case Was Withdrawn | The petitioner or applicant withdrew the case. |
The USCIS case status APR0 meaning is straightforward - your case was approved. For I-485 applicants, APR0 means your adjustment of status was granted. You're getting your green card.
Card Production and Delivery
Once you see APR0, these codes track your physical green card through production and mailing.
If you see CPO0 or CMD0, sign up for USPS Informed Delivery to track the physical card. Some applicants report the card arriving before the status updates to WCD0.
Transfer and Administrative Codes
| Code | Status Message | What It Means |
|---|---|---|
| TRN0 | Case Was Transferred | Your case moved to a different USCIS office or service center. |
| REO0 | Case Was Reopened | A previously decided case was reopened for further review. |
| EXP0 | Expedite Request Received | USCIS acknowledged your request to speed up processing. |
| SLM0 | Case Was Sent to Local Office | Transferred from a service center to a local field office (common for I-485). |
Transfer codes like TRN0 often cause anxiety, but they're usually administrative. For I-485 cases, a transfer to a local field office (SLM0) typically means your case is getting closer to an interview.
How to Read Your USCIS Case Status Step by Step
If you're new to tracking USCIS cases, here's how to read your case status effectively:
1. Check the official tracker. Go to egov.uscis.gov/casestatus and enter your receipt number. The receipt number is on your I-797C notice of action.
2. Read the full status message. Don't just read the headline. The paragraph below contains important details like deadlines, next steps, and which office is handling your case.
3. Note the date. USCIS shows when the status was last updated. If the date is months old, your case may still be in the queue with no new action.
4. Cross-reference with processing times. Check the USCIS processing times page for your form type and service center. If your case is within normal processing times, no action is needed.
5. Don't compare with others. Two I-485 cases filed on the same day can have wildly different timelines. Service center, country of birth, category, and case complexity all affect speed.
I-485 Case Status Codes: The Typical Sequence
For adjustment of status applicants, here's the typical code progression you'll see from filing to green card:
RCV0 → FTA0 → PRB0 → INT0 → APR0 → PRD0 → WCD0
Typical I-485 status code progression
Source: Community-reported data from immigration forums
Not every case follows this exact sequence. Some I-485s skip the interview entirely (especially employment-based cases at certain service centers). Others hit RFE0 or NTR0 along the way. But this gives you a baseline for what to expect.
A few I-485-specific patterns worth knowing:
- Employment-based I-485s often go straight from PRB0 to APR0 without INT0, especially at the NBC (National Benefits Center).
- Marriage-based I-485s almost always include INT0 since the in-person interview is standard for family-based cases.
- Concurrent I-140/I-485 filings may show different code progressions on each receipt number. Your I-140 might hit APR0 months before your I-485.
What to Do When Your Status Hasn't Changed
The most common complaint about the USCIS case tracker isn't a confusing code - it's no code change at all. Your status has said "Case Was Received" for 8 months and you're wondering if USCIS lost your file.
Here's the reality: USCIS doesn't update the online status for every internal action. Your case could be assigned to an officer, queued for review, or waiting for a visa number - and the tracker still shows RCV0.
When to take action:
- Your case is outside normal processing times for your form type and service center. Check processing times to verify.
- You can submit a case inquiry through the USCIS Contact Center or by submitting an e-Request online.
- If you're significantly past processing times, consider contacting your congressional representative's office. They can make a formal inquiry on your behalf.
When to wait:
- Your case is within posted processing times. USCIS processes millions of cases. Patience is unfortunately part of the deal.
- You just submitted an RFE response (RIR0). Give it 60-90 days before following up.
Set up a free account on the USCIS case tracker to get automatic email and text notifications when your status changes. This saves you from refreshing the page every morning.
Status Codes vs. Case Status Messages: What's the Difference?
Some people use "status codes" and "case status messages" interchangeably. They're related but different.
Status codes (FTA0, APR0, etc.) are internal USCIS identifiers. They're the machine-readable version of your case status. You might spot them in the URL, page source, or API responses when checking your case. Third-party case tracking apps often display these codes.
Case status messages are the human-readable translations that USCIS shows on their website. "Case Was Approved" is the message. APR0 is the code behind it.
Why does this matter? Because multiple codes can map to similar-sounding messages. APR0 and APR1 both indicate approval, but the detailed message text differs depending on your form type. If you're using a third-party tracker or community spreadsheet, the raw code gives you more precise information than the message alone.
Common Questions About Status Changes
A few patterns that frequently trip people up:
"My status went backwards." Sometimes a case shows APR0 briefly, then reverts to PRB0. This can happen when USCIS corrects a system error or when the approval was entered prematurely. It's rare but documented in community reports. If this happens, contact USCIS for clarification.
"I see a different status on the app vs. the website." The USCIS mobile app (myUSCIS) and the web case tracker pull from the same database but sometimes cache differently. Give it 24 hours. If the discrepancy persists, the web version is generally more reliable.
"My spouse's case updated but mine didn't." For family-based filings with derivative applicants, each person's case (each receipt number) updates independently. It's normal for the primary applicant's case to show movement before dependents.
See all your green card options in 5 minutes
Answer 5 quick questions and get a personalized comparison of every pathway you qualify for - timelines, costs, and risks side by side.
Compare My Pathways