{
	"info": {
		"_postman_id": "immapi-collection-v1",
		"name": "Immigration API",
		"description": "Complete Postman collection for the Immigration API.\n\nQuery USCIS case statuses, track cases, view usage, and manage your account.\n\nBase URL: https://immigrationapi.com/api.php\n\nAuthentication: Bearer token via Authorization header.",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"auth": {
		"type": "bearer",
		"bearer": [
			{
				"key": "token",
				"value": "{{api_key}}",
				"type": "string"
			}
		]
	},
	"variable": [
		{
			"key": "base_url",
			"value": "https://immigrationapi.com/api.php",
			"type": "string"
		},
		{
			"key": "api_key",
			"value": "imm_live_YOUR_API_KEY_HERE",
			"type": "string"
		}
	],
	"item": [
		{
			"name": "Case Status",
			"description": "Query USCIS case statuses in real time.",
			"item": [
				{
					"name": "Query Single Case",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}?action=case&receipt=MSC2190012345",
							"host": ["{{base_url}}"],
							"query": [
								{
									"key": "action",
									"value": "case",
									"description": "Endpoint action"
								},
								{
									"key": "receipt",
									"value": "MSC2190012345",
									"description": "USCIS receipt number (3 letters + 10 digits)"
								}
							]
						},
						"description": "Query the status of a single USCIS case by receipt number.\n\nReceipt format: 3 uppercase letters + 10 digits (e.g. MSC2190012345, WAC2190123456)."
					},
					"response": [
						{
							"name": "Success",
							"status": "OK",
							"code": 200,
							"body": "{\n  \"success\": true,\n  \"case_status\": {\n    \"receiptNumber\": \"MSC2190012345\",\n    \"formType\": \"I-485\",\n    \"current_case_status_text_en\": \"Case Was Approved\",\n    \"current_case_status_desc_en\": \"On July 5, 2026, we approved your Form I-485...\"\n  }\n}",
							"header": [
								{ "key": "Content-Type", "value": "application/json; charset=utf-8" }
							]
						}
					]
				},
				{
					"name": "Query Multiple Cases",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}?action=cases&receipts=MSC2190012345,WAC2190123456",
							"host": ["{{base_url}}"],
							"query": [
								{
									"key": "action",
									"value": "cases",
									"description": "Endpoint action"
								},
								{
									"key": "receipts",
									"value": "MSC2190012345,WAC2190123456",
									"description": "Comma-separated receipt numbers (max 20)"
								}
							]
						},
						"description": "Query multiple USCIS cases in a single request. Maximum 20 receipt numbers per request, comma-separated."
					},
					"response": [
						{
							"name": "Success",
							"status": "OK",
							"code": 200,
							"body": "{\n  \"success\": true,\n  \"count\": 2,\n  \"results\": [\n    {\n      \"success\": true,\n      \"case_status\": {\n        \"receiptNumber\": \"MSC2190012345\",\n        \"formType\": \"I-485\",\n        \"current_case_status_text_en\": \"Case Was Approved\"\n      }\n    },\n    {\n      \"success\": true,\n      \"case_status\": {\n        \"receiptNumber\": \"WAC2190123456\",\n        \"formType\": \"I-130\",\n        \"current_case_status_text_en\": \"Case Was Received\"\n      }\n    }\n  ]\n}",
							"header": [
								{ "key": "Content-Type", "value": "application/json; charset=utf-8" }
							]
						}
					]
				}
			]
		},
		{
			"name": "Case Tracking",
			"description": "Monitor cases over time and detect status changes.",
			"item": [
				{
					"name": "Track a Case",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"receipt\": \"MSC2190012345\",\n  \"label\": \"Client John Doe - I-485\"\n}",
							"options": {
								"raw": {
									"language": "json"
								}
							}
						},
						"url": {
							"raw": "{{base_url}}?action=track",
							"host": ["{{base_url}}"],
							"query": [
								{
									"key": "action",
									"value": "track"
								}
							]
						},
						"description": "Start tracking a USCIS case. The API will fetch the current status immediately and store it. Use the refresh endpoint or the background worker to detect changes over time.\n\nParameters:\n- receipt (required): USCIS receipt number\n- label (optional): A label for your reference"
					},
					"response": [
						{
							"name": "Success",
							"status": "Created",
							"code": 201,
							"body": "{\n  \"success\": true,\n  \"id\": 42,\n  \"receipt\": \"MSC2190012345\",\n  \"status\": \"Case Was Approved\",\n  \"form\": \"I-485\"\n}",
							"header": [
								{ "key": "Content-Type", "value": "application/json; charset=utf-8" }
							]
						}
					]
				},
				{
					"name": "List Tracked Cases",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}?action=tracked",
							"host": ["{{base_url}}"],
							"query": [
								{
									"key": "action",
									"value": "tracked"
								}
							]
						},
						"description": "List all cases currently being tracked by your account."
					},
					"response": [
						{
							"name": "Success",
							"status": "OK",
							"code": 200,
							"body": "{\n  \"success\": true,\n  \"count\": 2,\n  \"cases\": [\n    {\n      \"id\": 42,\n      \"receipt_number\": \"MSC2190012345\",\n      \"label\": \"Client John Doe - I-485\",\n      \"form_type\": \"I-485\",\n      \"current_status\": \"Case Was Approved\",\n      \"status_description\": \"On July 5, 2026, we approved your Form I-485...\",\n      \"last_checked_at\": \"2026-07-08 10:30:00\",\n      \"created_at\": \"2026-06-15 09:00:00\",\n      \"notify_on_change\": 1\n    }\n  ]\n}",
							"header": [
								{ "key": "Content-Type", "value": "application/json; charset=utf-8" }
							]
						}
					]
				},
				{
					"name": "Case History",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}?action=history&id=42",
							"host": ["{{base_url}}"],
							"query": [
								{
									"key": "action",
									"value": "history"
								},
								{
									"key": "id",
									"value": "42",
									"description": "Tracked case ID (from the track or tracked endpoints)"
								}
							]
						},
						"description": "Get the full status change history for a tracked case. Returns all recorded status changes in reverse chronological order."
					},
					"response": [
						{
							"name": "Success",
							"status": "OK",
							"code": 200,
							"body": "{\n  \"success\": true,\n  \"history\": [\n    {\n      \"status_text\": \"Case Was Approved\",\n      \"status_description\": \"On July 5, 2026, we approved your Form I-485...\",\n      \"checked_at\": \"2026-07-05 14:22:00\"\n    },\n    {\n      \"status_text\": \"Interview Was Scheduled\",\n      \"status_description\": \"On June 20, 2026, we scheduled an interview...\",\n      \"checked_at\": \"2026-06-20 08:15:00\"\n    },\n    {\n      \"status_text\": \"Case Was Received\",\n      \"status_description\": \"On March 10, 2026, we received your Form I-485...\",\n      \"checked_at\": \"2026-03-10 11:00:00\"\n    }\n  ]\n}",
							"header": [
								{ "key": "Content-Type", "value": "application/json; charset=utf-8" }
							]
						}
					]
				},
				{
					"name": "Remove from Tracking",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n  \"id\": 42\n}",
							"options": {
								"raw": {
									"language": "json"
								}
							}
						},
						"url": {
							"raw": "{{base_url}}?action=untrack",
							"host": ["{{base_url}}"],
							"query": [
								{
									"key": "action",
									"value": "untrack"
								}
							]
						},
						"description": "Remove a case from tracking. You can identify the case by its tracked ID or receipt number.\n\nParameters (one required):\n- id: Tracked case ID\n- receipt: USCIS receipt number"
					},
					"response": [
						{
							"name": "Success",
							"status": "OK",
							"code": 200,
							"body": "{\n  \"success\": true,\n  \"removed\": 1\n}",
							"header": [
								{ "key": "Content-Type", "value": "application/json; charset=utf-8" }
							]
						}
					]
				},
				{
					"name": "Refresh All Tracked Cases",
					"request": {
						"method": "POST",
						"header": [],
						"url": {
							"raw": "{{base_url}}?action=refresh",
							"host": ["{{base_url}}"],
							"query": [
								{
									"key": "action",
									"value": "refresh"
								}
							]
						},
						"description": "Refresh the status of all your tracked cases. Queries USCIS for each case and updates the stored status. Returns a list of cases that had status changes.\n\nNote: Each case query counts towards your daily limit. Cases are checked in order of least recently checked."
					},
					"response": [
						{
							"name": "Success",
							"status": "OK",
							"code": 200,
							"body": "{\n  \"success\": true,\n  \"checked\": 5,\n  \"changes\": [\n    {\n      \"id\": 42,\n      \"receipt\": \"MSC2190012345\",\n      \"old\": \"Interview Was Scheduled\",\n      \"new\": \"Case Was Approved\"\n    }\n  ]\n}",
							"header": [
								{ "key": "Content-Type", "value": "application/json; charset=utf-8" }
							]
						}
					]
				}
			]
		},
		{
			"name": "Account",
			"description": "View your account information and API usage.",
			"item": [
				{
					"name": "Account Info",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}?action=me",
							"host": ["{{base_url}}"],
							"query": [
								{
									"key": "action",
									"value": "me"
								}
							]
						},
						"description": "Get your account information including plan details, tracked cases count, and account creation date."
					},
					"response": [
						{
							"name": "Success",
							"status": "OK",
							"code": 200,
							"body": "{\n  \"success\": true,\n  \"account\": {\n    \"id\": 1,\n    \"name\": \"Jane Doe\",\n    \"email\": \"jane@company.com\",\n    \"company\": \"Acme Immigration Law\",\n    \"created_at\": \"2026-06-01 09:00:00\",\n    \"plan\": \"pro\",\n    \"plan_name\": \"Pro\",\n    \"price_monthly\": \"99.00\",\n    \"queries_included\": 2000,\n    \"daily_limit\": 2000,\n    \"max_tracked_cases\": 500,\n    \"tracked_cases\": 12\n  }\n}",
							"header": [
								{ "key": "Content-Type", "value": "application/json; charset=utf-8" }
							]
						}
					]
				},
				{
					"name": "Usage Statistics",
					"request": {
						"method": "GET",
						"header": [],
						"url": {
							"raw": "{{base_url}}?action=usage",
							"host": ["{{base_url}}"],
							"query": [
								{
									"key": "action",
									"value": "usage"
								}
							]
						},
						"description": "View your API usage statistics for today and the current month, including query counts, costs, and remaining daily limit."
					},
					"response": [
						{
							"name": "Success",
							"status": "OK",
							"code": 200,
							"body": "{\n  \"success\": true,\n  \"plan\": \"pro\",\n  \"today\": {\n    \"queries\": 47,\n    \"daily_limit\": 2000\n  },\n  \"month\": {\n    \"queries\": 1234,\n    \"cost\": 0.0000\n  }\n}",
							"header": [
								{ "key": "Content-Type", "value": "application/json; charset=utf-8" }
							]
						}
					]
				}
			]
		}
	]
}
