{
	"info": {
		"_postman_id": "96100ee8-5f02-46cf-b89d-f3705c2d5700",
		"name": "Zal Ultra API Collection",
		"description": "Hi,  \n  \nWelcome to the Zal Ultra ISP CRM REST API Collection by Onezeroart LLC.  \nTo use this API collection, ensure that API functionality is enabled in your Zal Ultra settings. You can also configure IP access permissions to allow access to this API.  \nAdditionally, make sure to enable API permissions for the user.",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
		"_exporter_id": "4296634"
	},
	"item": [
		{
			"name": "Public",
			"item": [
				{
					"name": "Get Public Settings",
					"request": {
						"auth": {
							"type": "noauth"
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/settings/public",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"settings",
								"public"
							]
						},
						"description": "Get public settings for login screen branding (no authentication required)."
					},
					"response": []
				}
			],
			"description": "Public endpoints that do not require authentication."
		},
		{
			"name": "Auth",
			"item": [
				{
					"name": "User",
					"item": [
						{
							"name": "User Login (Admin/Staff/Reseller)",
							"request": {
								"auth": {
									"type": "noauth"
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/auth-login",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"auth-login"
									]
								},
								"description": "Login endpoint for Admin, Staff, and Reseller users. Returns a Bearer token valid for 1 day. A user with two-factor authentication on gets 401 {\"message\":\"Two-Factor Code Required\",\"two_factor_required\":true} and no token: send the request again with \"code\" (6-digit authenticator code) or \"recovery_code\". Non-admin users need the api_access permission (checked on every request). Limited to 5 attempts per minute per account and IP (30 per IP); 429 after that. Same rules on POST /api/v1/users/login.",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"email\": \"{{zalultra_email}}\",\n    \"password\": \"{{zalultra_password}}\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "User Login With Two-Factor Code",
							"request": {
								"auth": {
									"type": "noauth"
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/auth-login",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"auth-login"
									]
								},
								"description": "Second step for a user with two-factor authentication: the same email and password plus \"code\" (authenticator) or \"recovery_code\" (each recovery code works once). 401 \"Invalid Two-Factor Code\" when it does not match.",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"email\": \"{{zalultra_email}}\",\n    \"password\": \"{{zalultra_password}}\",\n    \"code\": \"123456\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					],
					"description": "Authentication endpoints for Admin/Staff/Reseller users."
				},
				{
					"name": "Subscriber",
					"item": [
						{
							"name": "Subscriber Login (Mobile App)",
							"request": {
								"auth": {
									"type": "noauth"
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscriber/login",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscriber",
										"login"
									]
								},
								"description": "Login endpoint for Subscribers (mobile app). Returns a Bearer token valid for 30 days.",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"username\": \"{{zalultra_sub_username}}\",\n    \"password\": \"{{zalultra_sub_password}}\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Subscriber Logout",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{subscriber_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscriber/logout",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscriber",
										"logout"
									]
								},
								"description": "Logout subscriber from current device."
							},
							"response": []
						},
						{
							"name": "Subscriber Logout All Devices",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{subscriber_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscriber/logout-all",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscriber",
										"logout-all"
									]
								},
								"description": "Logout subscriber from all devices."
							},
							"response": []
						},
						{
							"name": "Subscriber Refresh Token",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{subscriber_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscriber/refresh-token",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscriber",
										"refresh-token"
									]
								},
								"description": "Refresh subscriber access token."
							},
							"response": []
						},
						{
							"name": "Mobile Auto Login (WebView)",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/mobile-auto-login",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"mobile-auto-login"
									]
								},
								"description": "WebView auto-login endpoint used by mobile app."
							},
							"response": []
						}
					],
					"description": "Authentication endpoints for Subscribers (mobile app)."
				}
			],
			"description": "Authentication endpoints for both Admin/Staff/Reseller users and Subscribers."
		},
		{
			"name": "Subscriber",
			"item": [
				{
					"name": "Subscriber Profile",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/profile",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"profile"
							]
						},
						"description": "Get authenticated subscriber profile details."
					},
					"response": []
				},
				{
					"name": "Subscriber Profile Details (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/profile-details",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"profile-details"
							]
						},
						"description": "Get comprehensive subscriber profile details for mobile app."
					},
					"response": []
				},
				{
					"name": "Subscriber Invoices (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/invoices?page=1&per_page=20",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"invoices"
							],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "per_page",
									"value": "20"
								}
							]
						},
						"description": "Own invoices, newest first; deleted ones excluded."
					},
					"response": []
				},
				{
					"name": "Subscriber Invoice Detail (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/invoices/1",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"invoices",
								"1"
							]
						},
						"description": "One own invoice with the fee breakdown and its payment. 404 if not yours."
					},
					"response": []
				},
				{
					"name": "Subscriber Payments (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/payments?page=1&per_page=20",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"payments"
							],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "per_page",
									"value": "20"
								}
							]
						},
						"description": "Own payments with the Payments-tab summary (net_paid, received, withdrawn, reverted)."
					},
					"response": []
				},
				{
					"name": "Subscriber Payment Detail (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/payments/1",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"payments",
								"1"
							]
						},
						"description": "One own payment. 404 if not yours."
					},
					"response": []
				},
				{
					"name": "Subscriber Ledger (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/ledger?page=1&per_page=20",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"ledger"
							],
							"query": [
								{
									"key": "page",
									"value": "1"
								},
								{
									"key": "per_page",
									"value": "20"
								}
							]
						},
						"description": "Own ledger lines, newest first."
					},
					"response": []
				},
				{
					"name": "Subscriber Usage (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/usage?period=30d",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"usage"
							],
							"query": [
								{
									"key": "period",
									"value": "30d"
								}
							]
						},
						"description": "Download/upload GB per hour (24h) or per day (7d, 30d)."
					},
					"response": []
				},
				{
					"name": "Subscriber Sessions (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/sessions?page=1",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"sessions"
							],
							"query": [
								{
									"key": "page",
									"value": "1"
								}
							]
						},
						"description": "Own RADIUS accounting sessions, newest first."
					},
					"response": []
				},
				{
					"name": "Subscriber Notices (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/notices?page=1",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"notices"
							],
							"query": [
								{
									"key": "page",
									"value": "1"
								}
							]
						},
						"description": "Active notices addressed to this subscriber, all subscribers or everyone."
					},
					"response": []
				},
				{
					"name": "Subscriber Notice Detail (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/notices/1",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"notices",
								"1"
							]
						},
						"description": "One visible notice; a personal notice is marked opened."
					},
					"response": []
				},
				{
					"name": "Subscriber Ticket Categories (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/ticket-categories",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"ticket-categories"
							]
						},
						"description": "Categories of the subscriber's branch."
					},
					"response": []
				},
				{
					"name": "Subscriber Tickets (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/tickets?status=open&page=1",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"tickets"
							],
							"query": [
								{
									"key": "status",
									"value": "open"
								},
								{
									"key": "page",
									"value": "1"
								}
							]
						},
						"description": "Own tickets; status=open|closed|all."
					},
					"response": []
				},
				{
					"name": "Subscriber Ticket Detail (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/tickets/1",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"tickets",
								"1"
							]
						},
						"description": "Ticket with plain-text description, replies and attachments."
					},
					"response": []
				},
				{
					"name": "Subscriber Open Ticket (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/tickets",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"tickets"
							]
						},
						"description": "Multipart; attachments[] up to 5.",
						"body": {
							"mode": "formdata",
							"formdata": [
								{
									"key": "title",
									"value": "Slow speed after 8 PM",
									"type": "text"
								},
								{
									"key": "category_id",
									"value": "1",
									"type": "text"
								},
								{
									"key": "priority",
									"value": "3",
									"type": "text"
								},
								{
									"key": "description",
									"value": "It drops to 2 Mbps",
									"type": "text"
								},
								{
									"key": "attachments[]",
									"value": "",
									"type": "file"
								}
							]
						}
					},
					"response": []
				},
				{
					"name": "Subscriber Ticket Reply (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/tickets/1/replies",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"tickets",
								"1",
								"replies"
							]
						},
						"description": "Re-opens a resolved/closed ticket; 422 on a cancelled one.",
						"body": {
							"mode": "raw",
							"raw": "{\n  \"reply\": \"Still slow tonight\"\n}",
							"options": {
								"raw": {
									"language": "json"
								}
							}
						}
					},
					"response": []
				},
				{
					"name": "Subscriber Close Ticket (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/tickets/1/close",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"tickets",
								"1",
								"close"
							]
						},
						"description": "Sets status 7."
					},
					"response": []
				},
				{
					"name": "Subscriber Ticket Attachment (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/tickets/1/attachments/1",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"tickets",
								"1",
								"attachments",
								"1"
							]
						},
						"description": "Raster images inline; everything else a sandboxed download."
					},
					"response": []
				},
				{
					"name": "Subscriber Update Profile (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "PATCH",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/profile",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"profile"
							]
						},
						"description": "Only when the ISP allows profile editing; only the fields sent change.",
						"body": {
							"mode": "raw",
							"raw": "{\n  \"phone\": \"01799000111\",\n  \"address\": \"House 7, Road 3\"\n}",
							"options": {
								"raw": {
									"language": "json"
								}
							}
						}
					},
					"response": []
				},
				{
					"name": "Subscriber Change Photo (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/profile/photo",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"profile",
								"photo"
							]
						},
						"description": "Multipart photo (jpeg/png, 5 MB).",
						"body": {
							"mode": "formdata",
							"formdata": [
								{
									"key": "photo",
									"value": "",
									"type": "file"
								}
							]
						}
					},
					"response": []
				},
				{
					"name": "Subscriber Documents (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/documents?page=1",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"documents"
							],
							"query": [
								{
									"key": "page",
									"value": "1"
								}
							]
						},
						"description": "Own documents."
					},
					"response": []
				},
				{
					"name": "Subscriber Upload Document (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "POST",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/documents",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"documents"
							]
						},
						"description": "Multipart; 403 when uploads are turned off.",
						"body": {
							"mode": "formdata",
							"formdata": [
								{
									"key": "file_name",
									"value": "National ID",
									"type": "text"
								},
								{
									"key": "document_type",
									"value": "1",
									"type": "text"
								},
								{
									"key": "file",
									"value": "",
									"type": "file"
								}
							]
						}
					},
					"response": []
				},
				{
					"name": "Subscriber Document File (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/documents/1/file",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"documents",
								"1",
								"file"
							]
						},
						"description": "Own document file."
					},
					"response": []
				},
				{
					"name": "Subscriber Connection Logs (Mobile App)",
					"request": {
						"auth": {
							"type": "bearer",
							"bearer": [
								{
									"key": "token",
									"value": "{{subscriber_token}}",
									"type": "string"
								}
							]
						},
						"method": "GET",
						"header": [
							{
								"key": "Accept",
								"value": "application/json",
								"type": "text"
							}
						],
						"url": {
							"raw": "{{zalultra_url}}/api/v1/subscriber/connection-logs?page=1",
							"host": [
								"{{zalultra_url}}"
							],
							"path": [
								"api",
								"v1",
								"subscriber",
								"connection-logs"
							],
							"query": [
								{
									"key": "page",
									"value": "1"
								}
							]
						},
						"description": "RADIUS sign-in attempts; no password, no NAS address."
					},
					"response": []
				}
			],
			"description": "Subscriber-specific endpoints for mobile app."
		},
		{
			"name": "User",
			"item": [
				{
					"name": "Subscribers",
					"item": [
						{
							"name": "Fetch All Subscribers",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscribers?isp_id=1&branch_id=1&offset=0&limit=100&all_module_status=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscribers"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										},
										{
											"key": "offset",
											"value": "0",
											"description": "Optional: Pagination offset (default: 0)"
										},
										{
											"key": "limit",
											"value": "100",
											"description": "Optional: Results per page (default: 100)"
										},
										{
											"key": "subscriber_id",
											"value": "1",
											"description": "Optional: Get single subscriber by ID",
											"disabled": true
										},
										{
											"key": "salesperson_id",
											"value": "1",
											"description": "Optional: Filter by salesperson ID",
											"disabled": true
										},
										{
											"key": "package_id",
											"value": "1",
											"description": "Optional: Filter by package ID",
											"disabled": true
										},
										{
											"key": "nas_id",
											"value": "1",
											"description": "Optional: Filter by NAS ID",
											"disabled": true
										},
										{
											"key": "search",
											"value": "john",
											"description": "Optional: Search by username, email, phone, fullname, or identity",
											"disabled": true
										},
										{
											"key": "subscriber_type",
											"value": "2",
											"description": "Optional: Filter by status (0=Inactive, 1=Pending, 2=Active, 3=Expired, 4=Disabled, 7=Online)",
											"disabled": true
										},
										{
											"key": "expiring_in",
											"value": "1",
											"description": "Optional: Filter expiring (1=1 day, 2=3 days, 3=1 week, 4=2 weeks)",
											"disabled": true
										},
										{
											"key": "grace_period_status",
											"value": "1",
											"description": "Optional: Filter by grace period status (0=No, 1=Yes)",
											"disabled": true
										},
										{
											"key": "department",
											"value": "1",
											"description": "Optional: Filter by department ID",
											"disabled": true
										},
										{
											"key": "country",
											"value": "1",
											"description": "Optional: Filter by country ID",
											"disabled": true
										},
										{
											"key": "province",
											"value": "1",
											"description": "Optional: Filter by province ID",
											"disabled": true
										},
										{
											"key": "city",
											"value": "1",
											"description": "Optional: Filter by city ID",
											"disabled": true
										},
										{
											"key": "area",
											"value": "1",
											"description": "Optional: Filter by area ID",
											"disabled": true
										},
										{
											"key": "subarea",
											"value": "1",
											"description": "Optional: Filter by subarea ID",
											"disabled": true
										},
										{
											"key": "all_module_status",
											"value": "1",
											"description": "Optional: Load all relationship modules at once (1=Yes)"
										},
										{
											"key": "package_module",
											"value": "1",
											"description": "Optional: Load package data (1=Yes)",
											"disabled": true
										},
										{
											"key": "salesperson_module",
											"value": "1",
											"description": "Optional: Load salesperson data (1=Yes)",
											"disabled": true
										},
										{
											"key": "nas_module",
											"value": "1",
											"description": "Optional: Load NAS data (1=Yes)",
											"disabled": true
										},
										{
											"key": "radacct_module",
											"value": "1",
											"description": "Optional: Load RADIUS accounting data (1=Yes)",
											"disabled": true
										},
										{
											"key": "radchecks_module",
											"value": "1",
											"description": "Optional: Load RADIUS check attributes (1=Yes)",
											"disabled": true
										},
										{
											"key": "ip_pool_module",
											"value": "1",
											"description": "Optional: Load IP pool and address data (1=Yes)",
											"disabled": true
										},
										{
											"key": "balance_module",
											"value": "1",
											"description": "Optional: Load current balance data (1=Yes)",
											"disabled": true
										},
										{
											"key": "area_module",
											"value": "1",
											"description": "Optional: Load area hierarchy data (1=Yes)",
											"disabled": true
										},
										{
											"key": "radreply_module",
											"value": "1",
											"description": "Optional: Load RADIUS reply attributes (1=Yes)",
											"disabled": true
										},
										{
											"key": "radusergroup_module",
											"value": "1",
											"description": "Optional: Load RADIUS user group data (1=Yes)",
											"disabled": true
										},
										{
											"key": "invoice_module",
											"value": "1",
											"description": "Optional: Load invoices data (1=Yes)",
											"disabled": true
										},
										{
											"key": "ledger_module",
											"value": "1",
											"description": "Optional: Load ledger entries (1=Yes)",
											"disabled": true
										},
										{
											"key": "payment_module",
											"value": "1",
											"description": "Optional: Load payments data (1=Yes)",
											"disabled": true
										}
									]
								},
								"description": "Fetch all subscribers with optional filters and relationship modules. Use all_module_status=1 to load all relationships at once, or enable individual modules for optimized performance."
							},
							"response": []
						},
						{
							"name": "Fetch Single Subscriber Details",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscribers/details?id=1&isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscribers",
										"details"
									],
									"query": [
										{
											"key": "id",
											"value": "1",
											"description": "Required: Subscriber ID"
										},
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": "Get basic profile details for a single subscriber. Returns subscriber data without relationships."
							},
							"response": []
						},
						{
							"name": "Create Subscriber",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscribers/create",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscribers",
										"create"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"username\": \"subscriber001\",\n    \"fullname\": \"John Doe\",\n    \"password\": \"pass123\",\n    \"package_id\": 1,\n    \"salesperson_id\": 1,\n    \"connection_password\": \"conn123\",\n    \"static_ip\": \"192.168.1.100\",\n    \"mac_address\": \"AA:BB:CC:DD:EE:FF\",\n    \"expiration_date\": \"2025-12-31 23:59:59\",\n    \"previous_balance\": 0,\n    \"email\": \"john@example.com\",\n    \"phone\": \"01712345678\",\n    \"identity\": \"1234567890\",\n    \"address\": \"123 Main Street\",\n    \"nas_id\": 1,\n    \"connection_type\": 0,\n    \"profile_status\": 0,\n    \"country\": 1,\n    \"province\": 1,\n    \"city\": 1,\n    \"area\": 1,\n    \"subarea\": 1,\n    \"department\": 1,\n    \"latitude\": \"23.8103\",\n    \"longitude\": \"90.4125\",\n    \"auto_renew_status\": 1,\n    \"discount\": 0,\n    \"discount_type\": 0,\n    \"sms_status\": 1,\n    \"email_status\": 1,\n    \"mac_lock_status\": 0,\n    \"total_data_quota\": 0,\n    \"total_session_quota\": 0,\n    \"join_date\": \"2025-01-01\",\n    \"onu_note\": \"ONU installed\",\n    \"box_number\": \"BOX-001\",\n    \"box_address\": \"Building A\",\n    \"switch_board\": \"SW-01\",\n    \"switch_port\": \"Port 1\",\n    \"electric_socket\": \"Socket A\",\n    \"cable_type\": \"Fiber\",\n    \"uplink_port\": \"UP-01\",\n    \"fiber_code\": \"FC-001\",\n    \"fiber_color\": \"Blue\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Subscriber",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscribers/update",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscribers",
										"update"
									]
								},
								"description": "Update an existing subscriber. Only id, isp_id, and branch_id are required. All other fields are optional.",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"id\": 1,\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"username\": \"subscriber001\",\n    \"fullname\": \"John Doe Updated\",\n    \"password\": \"newpass123\",\n    \"package_id\": 2,\n    \"salesperson_id\": 1,\n    \"connection_password\": \"newconn123\",\n    \"static_ip\": \"192.168.1.101\",\n    \"mac_address\": \"AA:BB:CC:DD:EE:FF\",\n    \"expiration_date\": \"2026-12-31 23:59:59\",\n    \"email\": \"john.updated@example.com\",\n    \"phone\": \"01712345679\",\n    \"identity\": \"1234567891\",\n    \"address\": \"456 New Street\",\n    \"nas_id\": 1,\n    \"connection_type\": 0,\n    \"profile_status\": 2,\n    \"country\": 1,\n    \"province\": 1,\n    \"city\": 1,\n    \"area\": 1,\n    \"subarea\": 1,\n    \"department\": 1,\n    \"latitude\": \"23.8104\",\n    \"longitude\": \"90.4126\",\n    \"auto_renew_status\": 1,\n    \"discount\": 10,\n    \"discount_type\": 0,\n    \"sms_status\": 1,\n    \"email_status\": 1,\n    \"mac_lock_status\": 0,\n    \"total_data_quota\": 100,\n    \"total_session_quota\": 50,\n    \"onu_note\": \"ONU updated\",\n    \"box_number\": \"BOX-002\",\n    \"box_address\": \"Building B\",\n    \"switch_board\": \"SW-02\",\n    \"switch_port\": \"Port 2\",\n    \"electric_socket\": \"Socket B\",\n    \"cable_type\": \"Fiber\",\n    \"uplink_port\": \"UP-02\",\n    \"fiber_code\": \"FC-002\",\n    \"fiber_color\": \"Red\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Subscriber",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscribers/delete?id=1&isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscribers",
										"delete"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Activate Subscriber",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscribers/activation",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscribers",
										"activation"
									]
								},
								"description": "Activate a subscriber with optional custom expiry date. The custom_expiry_datetime parameter is optional and must be a future date. Format: YYYY-MM-DD HH:MM:SS (e.g., 2026-12-31 23:59:59).",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"subscriber_id\": 1,\n    \"payment_amount\": 1000,\n    \"payment_method\": 1,\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"custom_expiry_datetime\": \"2026-12-31 23:59:59\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Mass Activation",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscribers/mass-activation",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscribers",
										"mass-activation"
									]
								},
								"description": "Bulk activate multiple subscribers in a single request. This endpoint replicates the exact logic from MassActivationController for 95%+ compatibility with web view functionality.\n\n**Required Parameters:**\n- `isp_id` (integer): ISP ID\n- `branch_id` (integer): Branch ID\n- `user_id` (integer): Acting user ID performing the activation\n- `selected_subscribers` (string/array): Comma-separated subscriber IDs (e.g., \"1,2,3\") or array [1,2,3]\n- `package_id` (integer/string): Package ID for activation, or \"current_package\" to use each subscriber's current package\n- `payment_type` (integer): Payment method - 1=Subscriber Balance, 2=Salesperson Balance, 3=Smart (auto-select)\n\n**Optional Parameters:**\n- `custom_expiry_datetime` (datetime): Custom expiration date/time (format: YYYY-MM-DD HH:MM:SS)\n\n**Response:**\nReturns success/failed results for each subscriber with detailed messages.\n\n**Notes:**\n- Prevents duplicate activations within 2 minutes\n- Validates salesperson assignment and package accounting\n- Supports row locking to prevent race conditions\n- Staff with balance_deduction_status=1 will use their own balance",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"selected_subscribers\": \"1,2,3\",\n    \"package_id\": \"current_package\",\n    \"payment_type\": 1,\n    \"custom_expiry_datetime\": \"2025-12-31 23:59:59\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Package Migration",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscribers/migration",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscribers",
										"migration"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"subscriber_id\": 1,\n    \"new_package_id\": 2,\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Disable Subscriber Internet",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscribers/disable-net",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscribers",
										"disable-net"
									]
								},
								"description": "Disable internet access for a subscriber (sets connection_status). Does NOT change profile_status.",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"subscriber_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Enable Subscriber Internet",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/subscribers/enable-net",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"subscribers",
										"enable-net"
									]
								},
								"description": "Re-enable internet access for a subscriber (sets connection_status). Does NOT change profile_status.",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"subscriber_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Attributes",
							"item": [
								{
									"name": "Get Subscriber Attributes",
									"request": {
										"auth": {
											"type": "bearer",
											"bearer": [
												{
													"key": "token",
													"value": "{{zalultra_token}}",
													"type": "string"
												}
											]
										},
										"method": "GET",
										"header": [
											{
												"key": "Accept",
												"value": "application/json",
												"type": "text"
											}
										],
										"url": {
											"raw": "{{zalultra_url}}/api/v1/subscribers/attributes?subscriber_id=1&isp_id=1&branch_id=1",
											"host": [
												"{{zalultra_url}}"
											],
											"path": [
												"api",
												"v1",
												"subscribers",
												"attributes"
											]
										},
										"description": ""
									},
									"response": []
								},
								{
									"name": "Add Subscriber Attribute",
									"request": {
										"auth": {
											"type": "bearer",
											"bearer": [
												{
													"key": "token",
													"value": "{{zalultra_token}}",
													"type": "string"
												}
											]
										},
										"method": "POST",
										"header": [
											{
												"key": "Content-Type",
												"value": "application/json",
												"type": "text"
											},
											{
												"key": "Accept",
												"value": "application/json",
												"type": "text"
											}
										],
										"url": {
											"raw": "{{zalultra_url}}/api/v1/subscribers/attributes",
											"host": [
												"{{zalultra_url}}"
											],
											"path": [
												"api",
												"v1",
												"subscribers",
												"attributes"
											]
										},
										"description": "",
										"body": {
											"mode": "raw",
											"raw": "{\n    \"subscriber_id\": 1,\n    \"attribute\": \"Framed-IP-Address\",\n    \"value\": \"192.168.1.100\",\n    \"op\": \":=\"\n}",
											"options": {
												"raw": {
													"language": "json"
												}
											}
										}
									},
									"response": []
								},
								{
									"name": "Update Subscriber Attribute",
									"request": {
										"auth": {
											"type": "bearer",
											"bearer": [
												{
													"key": "token",
													"value": "{{zalultra_token}}",
													"type": "string"
												}
											]
										},
										"method": "PUT",
										"header": [
											{
												"key": "Content-Type",
												"value": "application/json",
												"type": "text"
											},
											{
												"key": "Accept",
												"value": "application/json",
												"type": "text"
											}
										],
										"url": {
											"raw": "{{zalultra_url}}/api/v1/subscribers/attributes",
											"host": [
												"{{zalultra_url}}"
											],
											"path": [
												"api",
												"v1",
												"subscribers",
												"attributes"
											]
										},
										"description": "",
										"body": {
											"mode": "raw",
											"raw": "{\n    \"id\": 1,\n    \"value\": \"192.168.1.101\"\n}",
											"options": {
												"raw": {
													"language": "json"
												}
											}
										}
									},
									"response": []
								},
								{
									"name": "Delete Subscriber Attribute",
									"request": {
										"auth": {
											"type": "bearer",
											"bearer": [
												{
													"key": "token",
													"value": "{{zalultra_token}}",
													"type": "string"
												}
											]
										},
										"method": "DELETE",
										"header": [
											{
												"key": "Accept",
												"value": "application/json",
												"type": "text"
											}
										],
										"url": {
											"raw": "{{zalultra_url}}/api/v1/subscribers/attributes?id=1",
											"host": [
												"{{zalultra_url}}"
											],
											"path": [
												"api",
												"v1",
												"subscribers",
												"attributes"
											]
										},
										"description": ""
									},
									"response": []
								}
							],
							"description": "Subscriber attribute management (radcheck/radreply)."
						}
					]
				},
				{
					"name": "Invoices",
					"item": [
						{
							"name": "Fetch All Invoices",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/invoices?isp_id=1&branch_id=1&offset=0&limit=100",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"invoices"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										},
										{
											"key": "offset",
											"value": "0",
											"description": "Optional: Pagination offset (default: 0)"
										},
										{
											"key": "limit",
											"value": "100",
											"description": "Optional: Results per page (default: 100)"
										},
										{
											"key": "package_id",
											"value": "1",
											"description": "Optional: Filter by package ID",
											"disabled": true
										},
										{
											"key": "salesperson_id",
											"value": "1",
											"description": "Optional: Filter by salesperson ID",
											"disabled": true
										},
										{
											"key": "invoice_status",
											"value": "1",
											"description": "Optional: Filter by invoice status (1=Paid, 2=Unpaid, 3=Cancelled, 4=Refunded, 5=Partial, 6=Due)",
											"disabled": true
										}
									]
								},
								"description": "Fetch all invoices with optional filters. Returns invoice data with package, reseller sales details, and salesperson information."
							},
							"response": []
						},
						{
							"name": "View Invoice",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/invoices/view?id=1&isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"invoices",
										"view"
									],
									"query": [
										{
											"key": "id",
											"value": "1",
											"description": "Required: Invoice ID"
										},
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": "View a single invoice with full details including package, subscriber, salesperson, action by data, and associated payment information."
							},
							"response": []
						},
						{
							"name": "Update Invoice",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/invoices/update",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"invoices",
										"update"
									]
								},
								"description": "Update invoice status or billing note. Cannot modify invoices that have been activated.",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"id\": 1,\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"invoice_status\": 1,\n    \"billing_note\": \"Payment received via cash\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Invoice",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/invoices/delete?id=1&isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"invoices",
										"delete"
									],
									"query": [
										{
											"key": "id",
											"value": "1",
											"description": "Required: Invoice ID to delete"
										},
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": "Delete/Cancel an invoice. Cannot delete invoices that have been activated - mark as cancelled instead."
							},
							"response": []
						}
					]
				},
				{
					"name": "Payments",
					"item": [
						{
							"name": "Fetch All Payments",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/payments?isp_id=1&branch_id=1&offset=0&limit=100",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"payments"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										},
										{
											"key": "offset",
											"value": "0",
											"description": "Optional: Pagination offset (default: 0)"
										},
										{
											"key": "limit",
											"value": "100",
											"description": "Optional: Results per page (default: 100)"
										},
										{
											"key": "profile_type",
											"value": "2",
											"description": "Optional: Filter by profile type (1=User, 2=Subscriber)",
											"disabled": true
										},
										{
											"key": "payer_id",
											"value": "1",
											"description": "Optional: Filter by payer ID (requires profile_type)",
											"disabled": true
										},
										{
											"key": "payment_type",
											"value": "1",
											"description": "Optional: Filter by payment method",
											"disabled": true
										}
									]
								},
								"description": "Fetch all payments with optional filters. Returns payment data with action by user, user data, and subscriber with salesperson information."
							},
							"response": []
						},
						{
							"name": "Payment Receipt",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/payments/receipt?id=1&isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"payments",
										"receipt"
									],
									"query": [
										{
											"key": "id",
											"value": "1",
											"description": "Required: Payment ID"
										},
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": "Get payment receipt data including payment details and ISP information with area data."
							},
							"response": []
						},
						{
							"name": "Add Subscriber Balance",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/payments/add-subscriber-balance",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"payments",
										"add-subscriber-balance"
									]
								},
								"description": "Add balance to a subscriber account. Creates a payment record and updates subscriber balance. Rate limited to prevent duplicate payments within 60 seconds.",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"subscriber_id\": 1,\n    \"payment_amount\": 500\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					]
				},
				{
					"name": "Ledgers",
					"item": [
						{
							"name": "Fetch All Ledgers",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/ledgers?isp_id=1&branch_id=1&offset=0&limit=100",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"ledgers"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										},
										{
											"key": "offset",
											"value": "0",
											"description": "Optional: Pagination offset (default: 0)"
										},
										{
											"key": "limit",
											"value": "100",
											"description": "Optional: Results per page (default: 100)"
										},
										{
											"key": "invoice_id",
											"value": "1",
											"description": "Optional: Filter by invoice ID",
											"disabled": true
										},
										{
											"key": "ledger_type",
											"value": "1",
											"description": "Optional: Filter by ledger type (1=Payment, 2=Invoice Payment, 3=Sales/Invoice, 4=Profit)",
											"disabled": true
										},
										{
											"key": "transaction_id",
											"value": "TXN123",
											"description": "Optional: Filter by transaction ID",
											"disabled": true
										},
										{
											"key": "to_profile_type",
											"value": "2",
											"description": "Optional: Filter by recipient profile type (1=User, 2=Subscriber)",
											"disabled": true
										},
										{
											"key": "to_id",
											"value": "1",
											"description": "Optional: Filter by recipient ID (requires to_profile_type)",
											"disabled": true
										}
									]
								},
								"description": "Fetch all ledger entries with optional filters. Returns ledger data with action by user, against user/subscriber, user data, subscriber with salesperson, and invoice with subscriber information."
							},
							"response": []
						}
					]
				},
				{
					"name": "Users",
					"item": [
						{
							"name": "Fetch All Users",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/users?isp_id=1&branch_id=1&offset=0&limit=100",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"users"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										},
										{
											"key": "offset",
											"value": "0",
											"description": "Optional: Pagination offset (default: 0)"
										},
										{
											"key": "limit",
											"value": "100",
											"description": "Optional: Results per page (default: 100)"
										},
										{
											"key": "username",
											"value": "reseller1",
											"description": "Optional: Filter by exact username",
											"disabled": true
										},
										{
											"key": "profile_type",
											"value": "3",
											"description": "Optional: Filter by profile type (1=Admin, 2=Admin Staff, 3=Reseller, 4=Sub-reseller, 5=Retailer, 6-8=Staff)",
											"disabled": true
										},
										{
											"key": "search",
											"value": "john",
											"description": "Optional: Search by name, username, or email",
											"disabled": true
										}
									]
								},
								"description": "Fetch all users (resellers, staff, etc.) with optional filters. Returns user data with ISP, branch, role, department, area group, NAS group, and created by information."
							},
							"response": []
						},
						{
							"name": "Fetch User Details",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/users/details?id=1&isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"users",
										"details"
									],
									"query": [
										{
											"key": "id",
											"value": "1",
											"description": "Required: User ID"
										},
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": "Get detailed user profile including ISP, branch, role, department, area group, NAS group, location hierarchy, created by data, and current balance."
							},
							"response": []
						},
						{
							"name": "Create User",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/users/create",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"users",
										"create"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"username\": \"reseller1\",\n    \"email\": \"reseller@test.com\",\n    \"password\": \"pass123\",\n    \"profile_type\": 3\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update User",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/users/update",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"users",
										"update"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"id\": 1,\n    \"isp_id\": 1,\n    \"branch_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete User",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/users/delete?id=1&isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"users",
										"delete"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "Packages",
					"item": [
						{
							"name": "Fetch All Packages",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/packages?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"packages"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Package",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/packages/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"packages",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create Package",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/packages",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"packages"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"10MB Package\",\n    \"price\": 1000\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Package",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/packages/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"packages",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Package",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/packages/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"packages",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Get My Packages",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/packages/my-packages?isp_id=1&branch_id=1&salesperson_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"packages",
										"my-packages"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Assign Package",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/packages/1/assign",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"packages",
										"1",
										"assign"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"reseller_id\": 2,\n    \"price\": 800,\n    \"profit\": 100\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Get Package Assignments",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/packages/1/assignments?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"packages",
										"1",
										"assignments"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Update Assignment",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/packages/1/assignments/2",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"packages",
										"1",
										"assignments",
										"2"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"price\": 850\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Remove Assignment",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/packages/1/assignments/2?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"packages",
										"1",
										"assignments",
										"2"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "Dashboard",
					"item": [
						{
							"name": "Subscriber Stats",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/dashboard/subscriber-stats?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"dashboard",
										"subscriber-stats"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Accounting Stats",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/dashboard/accounting-stats?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"dashboard",
										"accounting-stats"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "User Stats",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/dashboard/user-stats?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"dashboard",
										"user-stats"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "Settings",
					"item": [
						{
							"name": "Get Settings",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/settings?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"settings"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Get App Settings",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/settings/app?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"settings",
										"app"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Get Settings By Group",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/settings/group/general?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"settings",
										"group",
										"general"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Update Settings",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/settings/update",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"settings",
										"update"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"settings\": {}\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Single Setting",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/settings/update-single",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"settings",
										"update-single"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"key\": \"setting_key\",\n    \"value\": \"new_value\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					]
				},
				{
					"name": "OLT/ONU",
					"item": [
						{
							"name": "Fetch All OLTs",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/olts",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"olts"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Get OLT By ID",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/olts/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"olts",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Test OLT Connection",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/olts/1/test-connection",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"olts",
										"1",
										"test-connection"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Discover ONUs",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/olts/1/discover-onus",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"olts",
										"1",
										"discover-onus"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch All ONUs",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/onus?per_page=50",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"onus"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Critical ONUs",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/onus/critical",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"onus",
										"critical"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Get ONU By ID",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/onus/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"onus",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Get ONU Signal History",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/onus/1/signal-history?hours=24",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"onus",
										"1",
										"signal-history"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Refresh ONU Metrics",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/onus/1/refresh-metrics",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"onus",
										"1",
										"refresh-metrics"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Bulk Refresh ONU Metrics",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/onus/bulk-refresh",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"onus",
										"bulk-refresh"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"onu_ids\": [\n        1,\n        2,\n        3\n    ]\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					]
				},
				{
					"name": "OLT Management (CRUD)",
					"item": [
						{
							"name": "Fetch All OLTs (CRUD)",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/olt?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"olt"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": "Full CRUD OLT listing. Use /api/v1/olts for legacy OltApiController."
							},
							"response": []
						},
						{
							"name": "Fetch OLT (CRUD)",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/olt/1?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"olt",
										"1"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create OLT",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/olt",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"olt"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"OLT-01\",\n    \"ip_address\": \"192.168.1.1\",\n    \"vendor_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update OLT",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/olt/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"olt",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"OLT-01 Updated\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete OLT",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/olt/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"olt",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Get ONUs By OLT",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/olt/1/onus?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"olt",
										"1",
										"onus"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": "List all ONUs belonging to a specific OLT."
							},
							"response": []
						}
					],
					"description": "OLT CRUD management (new /olt/ prefix). Legacy read-only endpoints remain under /olts/."
				},
				{
					"name": "ONU Management (CRUD)",
					"item": [
						{
							"name": "Fetch All ONUs (CRUD)",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/onu?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"onu"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": "Full CRUD ONU listing. Use /api/v1/onus for legacy OltApiController."
							},
							"response": []
						},
						{
							"name": "Fetch ONU (CRUD)",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/onu/1?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"onu",
										"1"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create ONU",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/onu",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"onu"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"olt_id\": 1,\n    \"mac_address\": \"AA:BB:CC:DD:EE:FF\",\n    \"serial_number\": \"SN001\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update ONU",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/onu/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"onu",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"serial_number\": \"SN001-updated\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete ONU",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/onu/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"onu",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Assign Subscriber to ONU",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/onu/1/assign-subscriber",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"onu",
										"1",
										"assign-subscriber"
									]
								},
								"description": "Map a subscriber to an ONU.",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"subscriber_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Unassign Subscriber from ONU",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/onu/1/unassign-subscriber",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"onu",
										"1",
										"unassign-subscriber"
									]
								},
								"description": "Remove the subscriber mapping from an ONU.",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					],
					"description": "ONU CRUD management (new /onu/ prefix). Legacy endpoints remain under /onus/."
				},
				{
					"name": "Policies",
					"item": [
						{
							"name": "Fetch All Policies",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/policies?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"policies"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Policy",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/policies/default?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"policies",
										"default"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create Policy",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/policies",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"policies"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"groupname\": \"new-policy\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Policy Attribute",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/policies/reply/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"policies",
										"reply",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"value\": \"10M\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Policy Attribute",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/policies/reply/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"policies",
										"reply",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Delete Policy Group",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/policies/group/test-policy?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"policies",
										"group",
										"test-policy"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Add Policy Attribute",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/policies/default/attributes",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"policies",
										"default",
										"attributes"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"attribute\": \"Mikrotik-Rate-Limit\",\n    \"value\": \"10M/10M\",\n    \"op\": \":=\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					]
				},
				{
					"name": "Extra Fees",
					"item": [
						{
							"name": "Fetch All Extra Fees",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/extra-fees?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"extra-fees"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Extra Fee Group",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/extra-fees/default?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"extra-fees",
										"default"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create Extra Fee",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/extra-fees",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"extra-fees"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"groupname\": \"installation\",\n    \"name\": \"Installation Fee\",\n    \"amount\": 500\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Extra Fee",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/extra-fees/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"extra-fees",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"amount\": 600\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Extra Fee",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/extra-fees/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"extra-fees",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Delete Extra Fee Group",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/extra-fees/group/test?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"extra-fees",
										"group",
										"test"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "Bandwidth Allocations",
					"item": [
						{
							"name": "Fetch All Bandwidth Allocations",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/bandwidth-allocations?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"bandwidth-allocations"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Bandwidth Allocation",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/bandwidth-allocations/default?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"bandwidth-allocations",
										"default"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create Bandwidth Allocation",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/bandwidth-allocations",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"bandwidth-allocations"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"groupname\": \"10mb\",\n    \"upload\": \"10M\",\n    \"download\": \"10M\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Bandwidth Allocation",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/bandwidth-allocations/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"bandwidth-allocations",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"upload\": \"15M\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Bandwidth Allocation",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/bandwidth-allocations/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"bandwidth-allocations",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Delete Bandwidth Group",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/bandwidth-allocations/group/test?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"bandwidth-allocations",
										"group",
										"test"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "NAS",
					"item": [
						{
							"name": "Fetch All NAS",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/nas?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"nas"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch NAS",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/nas/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"nas",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create NAS",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/nas",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"nas"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"nasname\": \"192.168.1.1\",\n    \"shortname\": \"MikroTik-1\",\n    \"secret\": \"testing123\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update NAS",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/nas/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"nas",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"shortname\": \"MikroTik-Updated\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete NAS",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/nas/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"nas",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Test NAS Connection",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/nas/1/test-connection",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"nas",
										"1",
										"test-connection"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					]
				},
				{
					"name": "NAS Groups",
					"item": [
						{
							"name": "Fetch All NAS Groups",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/nas-groups?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"nas-groups"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch NAS Group",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/nas-groups/1?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"nas-groups",
										"1"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create NAS Group",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/nas-groups",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"nas-groups"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"Group A\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update NAS Group",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/nas-groups/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"nas-groups",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"Group A Updated\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete NAS Group",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/nas-groups/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"nas-groups",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						}
					],
					"description": "NAS Group management."
				},
				{
					"name": "IP Pools",
					"item": [
						{
							"name": "Fetch All IP Pools",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/ip-pools?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"ip-pools"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch IP Pool",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/ip-pools/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"ip-pools",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create IP Pool",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/ip-pools",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"ip-pools"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"Pool-A\",\n    \"start_ip\": \"192.168.1.1\",\n    \"end_ip\": \"192.168.1.254\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update IP Pool",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/ip-pools/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"ip-pools",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"name\": \"Pool-Updated\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete IP Pool",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/ip-pools/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"ip-pools",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Generate IPs",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/ip-pools/1/generate",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"ip-pools",
										"1",
										"generate"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					]
				},
				{
					"name": "Areas",
					"item": [
						{
							"name": "Fetch All Areas",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/areas?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"areas"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Area Hierarchy",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/areas/hierarchy?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"areas",
										"hierarchy"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Area",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/areas/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"areas",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create Area",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/areas",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"areas"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"New Area\",\n    \"type\": \"area\",\n    \"parent_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Area",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/areas/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"areas",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"name\": \"Updated Area\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Area",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/areas/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"areas",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "Tickets",
					"item": [
						{
							"name": "Fetch All Tickets",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/tickets?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"tickets"
									]
								},
								"description": "Status codes (same as the web panel): 1 Pending, 2 In Progress, 3 On Hold, 4 Re-Opened, 5 Assigned, 6 Resolved, 7 Closed, 8 Cancelled, 9 Escalated. Priority: 1 Low, 2 Medium, 3 High, 4 Urgent, 5 Suggestion. Answers include status_label and priority_label. A reseller sees only its own tickets (404 otherwise)."
							},
							"response": []
						},
						{
							"name": "Fetch Ticket",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/tickets/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"tickets",
										"1"
									]
								},
								"description": "Status codes (same as the web panel): 1 Pending, 2 In Progress, 3 On Hold, 4 Re-Opened, 5 Assigned, 6 Resolved, 7 Closed, 8 Cancelled, 9 Escalated. Priority: 1 Low, 2 Medium, 3 High, 4 Urgent, 5 Suggestion. Answers include status_label and priority_label. A reseller sees only its own tickets (404 otherwise)."
							},
							"response": []
						},
						{
							"name": "Create Ticket",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/tickets",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"tickets"
									]
								},
								"description": "Creates a ticket (201). Fields: title, description (required), category_id, priority 1-5, status 1-9 (default 1), subscriber_id, assign_to_id. The old names subject and assigned_to are still accepted. Status codes (same as the web panel): 1 Pending, 2 In Progress, 3 On Hold, 4 Re-Opened, 5 Assigned, 6 Resolved, 7 Closed, 8 Cancelled, 9 Escalated. Priority: 1 Low, 2 Medium, 3 High, 4 Urgent, 5 Suggestion. Answers include status_label and priority_label. A reseller sees only its own tickets (404 otherwise).",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"title\": \"Connection Issue\",\n    \"description\": \"Cannot connect since morning\",\n    \"category_id\": 1,\n    \"priority\": 2,\n    \"status\": 1,\n    \"subscriber_id\": 1,\n    \"assign_to_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Ticket",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/tickets/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"tickets",
										"1"
									]
								},
								"description": "Changes only the fields sent: title, description, category_id, priority, status, subscriber_id, assign_to_id. Status codes (same as the web panel): 1 Pending, 2 In Progress, 3 On Hold, 4 Re-Opened, 5 Assigned, 6 Resolved, 7 Closed, 8 Cancelled, 9 Escalated. Priority: 1 Low, 2 Medium, 3 High, 4 Urgent, 5 Suggestion. Answers include status_label and priority_label. A reseller sees only its own tickets (404 otherwise).",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"title\": \"Connection Issue (fibre cut)\",\n    \"priority\": 3,\n    \"status\": 2,\n    \"assign_to_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Ticket",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/tickets/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"tickets",
										"1"
									]
								},
								"description": "Deletes the ticket and its replies; answers with deleted_id and title."
							},
							"response": []
						},
						{
							"name": "Reply to Ticket",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/tickets/1/reply",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"tickets",
										"1",
										"reply"
									]
								},
								"description": "Adds a staff reply (201). Field: reply (the old name message is still accepted). A reply on a Pending (1) ticket moves it to In Progress (2).",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"reply\": \"We are looking into this.\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Change Ticket Status",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/tickets/1/status",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"tickets",
										"1",
										"status"
									]
								},
								"description": "Sets the status (1-9) and answers with old_status and new_status labels. Status codes (same as the web panel): 1 Pending, 2 In Progress, 3 On Hold, 4 Re-Opened, 5 Assigned, 6 Resolved, 7 Closed, 8 Cancelled, 9 Escalated. Priority: 1 Low, 2 Medium, 3 High, 4 Urgent, 5 Suggestion. Answers include status_label and priority_label. A reseller sees only its own tickets (404 otherwise).",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"status\": 2\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					]
				},
				{
					"name": "Ticket Categories",
					"item": [
						{
							"name": "Fetch All Ticket Categories",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/ticket-categories?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"ticket-categories"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Ticket Category",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/ticket-categories/1?isp_id=1&branch_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"ticket-categories",
										"1"
									],
									"query": [
										{
											"key": "isp_id",
											"value": "1",
											"description": "Required: ISP ID"
										},
										{
											"key": "branch_id",
											"value": "1",
											"description": "Required: Branch ID"
										}
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create Ticket Category",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/ticket-categories",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"ticket-categories"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"Network Issue\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Ticket Category",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/ticket-categories/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"ticket-categories",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"Network Issue Updated\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Ticket Category",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/ticket-categories/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"ticket-categories",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						}
					],
					"description": "Ticket category management."
				},
				{
					"name": "Roles",
					"item": [
						{
							"name": "Fetch All Roles",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/roles?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"roles"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Role",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/roles/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"roles",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create Role",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/roles",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"roles"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"New Role\",\n    \"permissions\": []\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Role",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/roles/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"roles",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"name\": \"Updated Role\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Role",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/roles/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"roles",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Copy Role",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/roles/1/copy",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"roles",
										"1",
										"copy"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"Copied Role\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					]
				},
				{
					"name": "Permissions",
					"item": [
						{
							"name": "Fetch All Permissions",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/permissions?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"permissions"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Grouped Permissions",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/permissions/grouped?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"permissions",
										"grouped"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "Notes",
					"item": [
						{
							"name": "Fetch All Notes",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/notes?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"notes"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Note",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/notes/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"notes",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create Note",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/notes",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"notes"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"title\": \"Note Title\",\n    \"to_profile_type\": 2,\n    \"to_id\": 1,\n    \"to_username\": \"subscriber1\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Note",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/notes/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"notes",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"title\": \"Updated Note\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Note",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/notes/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"notes",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "Notices",
					"item": [
						{
							"name": "Fetch All Notices",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/notices?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"notices"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Notice",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/notices/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"notices",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create Notice",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/notices",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"notices"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"title\": \"Maintenance Notice\",\n    \"content\": \"Scheduled maintenance\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Notice",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/notices/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"notices",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"title\": \"Updated Notice\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Notice",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/notices/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"notices",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "Email Templates",
					"item": [
						{
							"name": "Fetch All Email Templates",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/email-templates?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"email-templates"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Email Template",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/email-templates/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"email-templates",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create Email Template",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/email-templates",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"email-templates"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"Welcome Email\",\n    \"subject\": \"Welcome!\",\n    \"body\": \"Welcome to our service.\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Email Template",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/email-templates/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"email-templates",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"subject\": \"Updated Subject\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Email Template",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/email-templates/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"email-templates",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "SMS Templates",
					"item": [
						{
							"name": "Fetch All SMS Templates",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/sms-templates?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"sms-templates"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch SMS Template",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/sms-templates/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"sms-templates",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create SMS Template",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/sms-templates",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"sms-templates"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"Payment Reminder\",\n    \"content\": \"Your payment is due.\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update SMS Template",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/sms-templates/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"sms-templates",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"content\": \"Updated content\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete SMS Template",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/sms-templates/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"sms-templates",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "Activity Logs",
					"item": [
						{
							"name": "Fetch All Activity Logs",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/activity-logs?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"activity-logs"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Activity Log",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/activity-logs/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"activity-logs",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Logs By Subject",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/activity-logs/by-subject?subject_type=Subscriber&subject_id=1&isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"activity-logs",
										"by-subject"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Logs By User",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/activity-logs/by-user/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"activity-logs",
										"by-user",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "ISPs",
					"item": [
						{
							"name": "Fetch All ISPs",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/isps?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"isps"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch ISP",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/isps/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"isps",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create ISP",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/isps",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"isps"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"user_id\": 1,\n    \"name\": \"New ISP\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update ISP",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/isps/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"isps",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"name\": \"Updated ISP\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete ISP",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/isps/1?user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"isps",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "Branches",
					"item": [
						{
							"name": "Fetch All Branches",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/branches?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"branches"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Branch",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/branches/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"branches",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create Branch",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/branches",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"branches"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"New Branch\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Branch",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/branches/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"branches",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"name\": \"Updated Branch\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Branch",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/branches/1?isp_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"branches",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "Inventory",
					"item": [
						{
							"name": "Fetch All Inventory",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/inventory?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"inventory"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Inventory Item",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/inventory/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"inventory",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create Inventory Item",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/inventory",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"inventory"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"name\": \"Router\",\n    \"type\": \"equipment\",\n    \"quantity\": 10\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Inventory Item",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/inventory/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"inventory",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"quantity\": 15\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Inventory Item",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/inventory/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"inventory",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Assign Inventory",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/inventory/1/assign",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"inventory",
										"1",
										"assign"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"subscriber_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Unassign Inventory",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/inventory/1/unassign",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"inventory",
										"1",
										"unassign"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					]
				},
				{
					"name": "Expenses",
					"item": [
						{
							"name": "Fetch All Expenses",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/expenses?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"expenses"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Expense Categories",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/expenses/categories?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"expenses",
										"categories"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Expense",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/expenses/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"expenses",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Create Expense",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/expenses",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"expenses"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"category_id\": 1,\n    \"amount\": 5000,\n    \"description\": \"Office supplies\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Update Expense",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "PUT",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/expenses/1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"expenses",
										"1"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"amount\": 6000\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Delete Expense",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "DELETE",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/expenses/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"expenses",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "MAC Binding",
					"item": [
						{
							"name": "Fetch All MAC Bindings",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/mac-binding?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"mac-binding"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Fetch Subscriber MAC",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/mac-binding/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"mac-binding",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Bind MAC",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/mac-binding/bind",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"mac-binding",
										"bind"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"subscriber_id\": 1,\n    \"mac_address\": \"AA:BB:CC:DD:EE:FF\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Unbind MAC",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/mac-binding/unbind",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"mac-binding",
										"unbind"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"subscriber_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					]
				},
				{
					"name": "Reports",
					"item": [
						{
							"name": "Subscriber Summary",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/reports/subscriber-summary?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"reports",
										"subscriber-summary"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Revenue Summary",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/reports/revenue-summary?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"reports",
										"revenue-summary"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Package Distribution",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/reports/package-distribution?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"reports",
										"package-distribution"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Salesperson Performance",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/reports/salesperson-performance?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"reports",
										"salesperson-performance"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Expiring Subscribers",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/reports/expiring-subscribers?isp_id=1&branch_id=1&user_id=1&days=7",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"reports",
										"expiring-subscribers"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Daily Collection",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/reports/daily-collection?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"reports",
										"daily-collection"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				},
				{
					"name": "RADIUS",
					"item": [
						{
							"name": "Online Sessions",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/radius/online-sessions?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"radius",
										"online-sessions"
									]
								},
								"description": "Shows only the sessions of subscribers the caller may see (a reseller: its own tree). radacct has no ISP columns, so sessions are matched through the subscribers' usernames."
							},
							"response": []
						},
						{
							"name": "Session History",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/radius/session-history?isp_id=1&branch_id=1&user_id=1&username=test",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"radius",
										"session-history"
									]
								},
								"description": "Shows only the sessions of subscribers the caller may see (a reseller: its own tree). radacct has no ISP columns, so sessions are matched through the subscribers' usernames."
							},
							"response": []
						},
						{
							"name": "Get Subscriber Radcheck",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/radius/radcheck/testuser?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"radius",
										"radcheck",
										"testuser"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Get Subscriber Radreply",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/radius/radreply/testuser?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"radius",
										"radreply",
										"testuser"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Get Subscriber Radusergroup",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/radius/radusergroup/testuser?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"radius",
										"radusergroup",
										"testuser"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Get Usage Stats",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/radius/usage-stats/testuser?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"radius",
										"usage-stats",
										"testuser"
									]
								},
								"description": "Shows only the sessions of subscribers the caller may see (a reseller: its own tree). radacct has no ISP columns, so sessions are matched through the subscribers' usernames."
							},
							"response": []
						},
						{
							"name": "Disconnect Session",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/radius/disconnect",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"radius",
										"disconnect"
									]
								},
								"description": "Sends a disconnect (CoA) for the subscriber. Send subscriber_id, or session_id (the acctsessionid of an online session). Needs the subscriber_disconnect permission. 409 \"Subscriber Not Online!\" when there is no session; 404 for a subscriber or session the caller cannot see.",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"subscriber_id\": 1\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					]
				},
				{
					"name": "SMS",
					"item": [
						{
							"name": "Send SMS",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/sms/send",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"sms",
										"send"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"phone\": \"01712345678\",\n    \"message\": \"Test message\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Send SMS to Subscriber",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/sms/send-to-subscriber",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"sms",
										"send-to-subscriber"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"subscriber_id\": 1,\n    \"message\": \"Test message\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Send Bulk SMS",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/sms/send-bulk",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"sms",
										"send-bulk"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"subscriber_ids\": [\n        1,\n        2,\n        3\n    ],\n    \"message\": \"Bulk message\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						}
					]
				},
				{
					"name": "Balance",
					"item": [
						{
							"name": "Get Subscriber Balance",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/balance/subscriber/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"balance",
										"subscriber",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Get User Balance",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/balance/user/1?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"balance",
										"user",
										"1"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Add Subscriber Balance",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/balance/subscriber/add",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"balance",
										"subscriber",
										"add"
									]
								},
								"description": "",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"subscriber_id\": 1,\n    \"amount\": 500\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Add User Balance (Reseller Topup)",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/balance/user/add",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"balance",
										"user",
										"add"
									]
								},
								"description": "Topup a Reseller / Sub-reseller / Retailer wallet. Only admin (profile_type=1) or staff (profile_type=2) may perform the topup. Creates a ledger entry and a payment record.",
								"body": {
									"mode": "raw",
									"raw": "{\n    \"isp_id\": 1,\n    \"branch_id\": 1,\n    \"user_id\": 1,\n    \"target_user_id\": 2,\n    \"amount\": 500,\n    \"payment_method\": 1,\n    \"payment_note\": \"Balance topup via API\"\n}",
									"options": {
										"raw": {
											"language": "json"
										}
									}
								}
							},
							"response": []
						},
						{
							"name": "Get Subscriber Ledger",
							"request": {
								"auth": {
									"type": "bearer",
									"bearer": [
										{
											"key": "token",
											"value": "{{zalultra_token}}",
											"type": "string"
										}
									]
								},
								"method": "GET",
								"header": [
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/v1/balance/subscriber/1/ledger?isp_id=1&branch_id=1&user_id=1",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"v1",
										"balance",
										"subscriber",
										"1",
										"ledger"
									]
								},
								"description": ""
							},
							"response": []
						}
					]
				}
			],
			"description": "Admin/Staff API endpoints. All modules for managing the ISP system."
		},
		{
			"name": "Payment Gateways",
			"item": [
				{
					"name": "Bkash",
					"item": [
						{
							"name": "Query Bill",
							"request": {
								"auth": {
									"type": "noauth"
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/queryBill",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"queryBill"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Pay Bill",
							"request": {
								"auth": {
									"type": "noauth"
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/payBill",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"payBill"
									]
								},
								"description": ""
							},
							"response": []
						},
						{
							"name": "Search Transaction",
							"request": {
								"auth": {
									"type": "noauth"
								},
								"method": "POST",
								"header": [
									{
										"key": "Content-Type",
										"value": "application/json",
										"type": "text"
									},
									{
										"key": "Accept",
										"value": "application/json",
										"type": "text"
									}
								],
								"url": {
									"raw": "{{zalultra_url}}/api/searchTransaction",
									"host": [
										"{{zalultra_url}}"
									],
									"path": [
										"api",
										"searchTransaction"
									]
								},
								"description": ""
							},
							"response": []
						}
					],
					"description": "Bkash payment gateway endpoints."
				}
			],
			"description": "Payment gateway integration endpoints."
		}
	],
	"auth": {
		"type": "bearer",
		"bearer": [
			{
				"key": "token",
				"value": "{{zalultra_token}}",
				"type": "string"
			}
		]
	},
	"variable": [
		{
			"key": "zalultra_token",
			"value": "",
			"type": "string"
		},
		{
			"key": "subscriber_token",
			"value": "",
			"type": "string"
		},
		{
			"key": "zalultra_url",
			"value": "",
			"type": "string"
		},
		{
			"key": "zalultra_email",
			"value": "",
			"type": "string"
		},
		{
			"key": "zalultra_password",
			"value": "",
			"type": "string"
		},
		{
			"key": "zalultra_sub_username",
			"value": "",
			"type": "string"
		},
		{
			"key": "zalultra_sub_password",
			"value": "",
			"type": "string"
		}
	]
}