{
    "variable": [
        {
            "id": "baseUrl",
            "key": "baseUrl",
            "type": "string",
            "name": "string",
            "value": "http:\/\/m2-partner-api.test"
        }
    ],
    "info": {
        "name": "M2 Partner API Documentation",
        "_postman_id": "bea3e7eb-7501-47b4-b52e-152e8acee705",
        "description": "Backend API for the M2 Partner referral platform. Covers authentication, partner onboarding, referral management, property activity timeline, commission tracking, and admin operations.",
        "schema": "https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json"
    },
    "item": [
        {
            "name": "Authentication",
            "description": "",
            "item": [
                {
                    "name": "Login",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/login",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/login"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"admin@example.com\",\"password\":\"secret\"}"
                        },
                        "description": "Authenticate with email and password to receive a JWT token.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": []
                },
                {
                    "name": "Confirm email",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/confirm\/:confirmationCode",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/confirm\/:confirmationCode",
                            "variable": [
                                {
                                    "id": "confirmationCode",
                                    "key": "confirmationCode",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Confirms a newly registered user's email address using the code sent by email.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "x-ratelimit-limit",
                                    "value": "60"
                                },
                                {
                                    "key": "x-ratelimit-remaining",
                                    "value": "59"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"INVALID_USER_CONFIRMATION_CODE\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Request password reset",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/password\/request_reset",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/password\/request_reset"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"user@example.com\"}"
                        },
                        "description": "Sends a password reset link to the given email address.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": []
                },
                {
                    "name": "Reset password",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/password\/reset",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/password\/reset"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"user@example.com\",\"token\":\"abc123xyz\",\"password\":\"newpass456\"}"
                        },
                        "description": "Sets a new password using the token received via email.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": []
                },
                {
                    "name": "Register",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/register",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/register"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"invite_code\":\"AB12CD34\",\"first_name\":\"Jelena\",\"last_name\":\"Petrovi\u0107\",\"email\":\"jelena@example.com\",\"password\":\"Secret123!\",\"phone\":\"+381641234567\"}"
                        },
                        "description": "Creates a new user account. Requires a valid sponsor invite code.\nSends a 6-digit verification code to the provided email.\n\nTerms of Service are NOT accepted here \u2014 the user accepts them later via\n`POST \/api\/auth\/accept-tos`, after email verification (see the registration flow).",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\"message\":\"REGISTRATION_SUCCESS\",\"body\":{\"user_id\":42}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 406,
                            "body": "{\"message\":\"VALIDATION_ERROR\",\"body\":{\"invite_code\":[\"Invalid invite code.\"]}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Social login",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/social_login",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/social_login"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"user@example.com\",\"provider\":\"google\",\"provider_id\":\"1234567890\",\"first_name\":\"John\",\"last_name\":\"Doe\"}"
                        },
                        "description": "Authenticates (or registers) a user via a social OAuth provider. Logs in an existing user or creates a new account.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": []
                },
                {
                    "name": "Register with invitation",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/register\/:invitationCode",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/register\/:invitationCode",
                            "variable": [
                                {
                                    "id": "invitationCode",
                                    "key": "invitationCode",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"first_name\":\"John\",\"last_name\":\"Doe\",\"password\":\"secret123\"}"
                        },
                        "description": "Creates a new confirmed user account using an invitation code. The email is pre-filled from the invitation.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": []
                },
                {
                    "name": "Change password",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/password\/change",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/password\/change"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"old_password\":\"oldpass123\",\"new_password\":\"newpass456\"}"
                        },
                        "description": "Changes the authenticated user's password. Requires the current password for verification."
                    },
                    "response": []
                },
                {
                    "name": "Refresh token",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/refresh",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/refresh"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Issues a new JWT token using the current valid token."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Logout",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/logout",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/logout"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Invalidates the current JWT token, ending the session."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Get authenticated user",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/me",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/me"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Retrieves the currently authenticated user's profile and relations."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Stop impersonating user",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/impersonate\/stop",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/impersonate\/stop"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Invalidates the impersonation token and issues a fresh token for the original super admin user."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Start impersonating user",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/impersonate\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/impersonate\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "architecto",
                                    "description": "The ID of the impersonate."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Issues a new token with the target user's ID embedded as a custom claim, allowing the super admin to act as that user."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Clear user tokens",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/clear\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/clear\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "architecto",
                                    "description": "The ID of the clear."
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Invalidates all active JWT tokens for the specified user. Requires super admin role."
                    },
                    "response": []
                },
                {
                    "name": "Clear all tokens",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/clear-all\/:force",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/clear-all\/:force",
                            "variable": [
                                {
                                    "id": "force",
                                    "key": "force",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Invalidates all active JWT tokens for all users. Super admins are skipped unless `force=1`. Requires super admin role."
                    },
                    "response": []
                },
                {
                    "name": "Verify email",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/verify-email",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/verify-email"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"jelena@example.com\",\"code\":\"123456\"}"
                        },
                        "description": "Submits the 6-digit code sent to the user's email during registration.\nOn success, status changes to `pending_tos` \u2014 the user must still accept the\nTerms of Service via `POST \/api\/auth\/accept-tos` before admins are notified.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"EMAIL_VERIFIED\",\"body\":{}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 406,
                            "body": "{\"message\":\"CODE_EXPIRED\",\"body\":{}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 406,
                            "body": "{\"message\":\"CODE_INVALID\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Accept Terms of Service",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/accept-tos",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/accept-tos"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"jelena@example.com\",\"tos_accepted\":true,\"confidentiality_accepted\":true}"
                        },
                        "description": "Final registration step (\"Zavr\u0161i registraciju\"). The user accepts both the\nTerms of Service \/ Privacy Policy and the confidentiality agreement. Only valid\nonce the email has been verified (status `pending_tos`). On success the status\nchanges to `pending_approval` and admins are notified.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"TOS_ACCEPTED\",\"body\":{}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 406,
                            "body": "{\"message\":\"TOS_INVALID_STATE\",\"body\":{}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 406,
                            "body": "{\"message\":\"VALIDATION_ERROR\",\"body\":{\"tos_accepted\":[\"The tos accepted field must be accepted.\"]}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Resend verification code",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/resend-verification",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/resend-verification"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"jelena@example.com\"}"
                        },
                        "description": "Resends the 6-digit email verification code. Rate-limited to 3 per hour.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"VERIFICATION_CODE_SENT\",\"body\":{}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 429,
                            "body": "{\"message\":\"RATE_LIMIT_EXCEEDED\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Registration status",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/registration-status",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/registration-status"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"jelena@example.com\"}"
                        },
                        "description": "Returns whether the pending user has been approved by an admin.\nUsed by the \"Check status\" button on the pending approval screen.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"REGISTRATION_STATUS\",\"body\":{\"approved\":false,\"status\":\"pending_approval\"}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Forgot password",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/forgot-password",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/forgot-password"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"jelena@example.com\"}"
                        },
                        "description": "Sends a 6-digit password reset code to the user's email.\nThis overrides the default PCMS link-based reset \u2014 the app uses a code input.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"PASSWORD_RESET_CODE_SENT\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Reset password",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/auth\/reset-password",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/auth\/reset-password"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"jelena@example.com\",\"code\":\"654321\",\"password\":\"NewSecret123!\"}"
                        },
                        "description": "Verifies the 6-digit code and sets a new password.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"PASSWORD_RESET_SUCCESS\",\"body\":{}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 406,
                            "body": "{\"message\":\"CODE_EXPIRED\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Onboarding",
            "description": "",
            "item": [
                {
                    "name": "Validate invite code",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/onboarding\/invite\/:code",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/onboarding\/invite\/:code",
                            "variable": [
                                {
                                    "id": "code",
                                    "key": "code",
                                    "value": "AB12CD34",
                                    "description": "The referral code to validate."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Checks whether a referral code is valid and returns the sponsor's name.\nUsed on the first onboarding screen before registration.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"INVITE_CODE_VALID\",\"body\":{\"sponsor_first_name\":\"Marko\",\"sponsor_last_name\":\"Markovi\u0107\"}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"INVITE_CODE_INVALID\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Me",
            "description": "",
            "item": [
                {
                    "name": "Get profile",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/me",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/me"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns the authenticated user's profile."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"ME_RETRIEVED\",\"body\":{\"id\":1,\"first_name\":\"Jelena\",\"last_name\":\"Petrovi\u0107\",\"email\":\"jelena@example.com\",\"phone\":\"+381641234567\",\"status\":\"active\",\"referral_code\":\"AB12CD34\",\"roles\":[\"partner\"]}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Update profile",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/me",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/me"
                        },
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"first_name\":\"Jelena\",\"last_name\":\"Petrovi\u0107\",\"phone\":\"+381641234567\"}"
                        },
                        "description": "Updates the authenticated user's profile fields."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"ME_UPDATED\",\"body\":{\"id\":1}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Dashboard",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/me\/dashboard",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/me\/dashboard"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns KPI summary and latest activity feed for the home screen."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"DASHBOARD_RETRIEVED\",\"body\":{\"earnings_total\":1250.00,\"earnings_pending\":250.00,\"referrals_count\":5,\"active_count\":3,\"team_count\":2,\"activity_feed\":[]}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Digital card",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/me\/digital-card",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/me\/digital-card"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns data for the partner's digital business card and QR code."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"DIGITAL_CARD_RETRIEVED\",\"body\":{\"first_name\":\"Jelena\",\"last_name\":\"Petrovi\u0107\",\"status\":\"candidate\",\"referral_code\":\"AB12CD34\",\"qr_payload\":\"https:\/\/m2-partner-api.test\/join\/AB12CD34\"}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Earnings",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/me\/earnings",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/me\/earnings"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns earnings summary and commission bracket information."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"EARNINGS_RETRIEVED\",\"body\":{\"total\":1250.00,\"pending\":250.00,\"paid\":1000.00,\"brackets\":{\"seller\":[{\"min\":750,\"max\":5000,\"rate\":10},{\"min\":5001,\"max\":10000,\"rate\":13},{\"min\":10001,\"max\":null,\"rate\":15}],\"buyer\":[{\"min\":750,\"max\":5000,\"rate\":7},{\"min\":5001,\"max\":10000,\"rate\":8},{\"min\":10001,\"max\":null,\"rate\":10}]}}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "My team",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/me\/team",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/me\/team"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns a list of partners sponsored by the authenticated user,\nincluding the sponsor's earnings from each (10% of their commissions)."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"TEAM_RETRIEVED\",\"body\":{\"team\":[{\"id\":2,\"first_name\":\"Ana\",\"last_name\":\"Ani\u0107\",\"role\":\"candidate\",\"completed_deals\":1,\"my_earnings\":50.00}]}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Activities (email log)",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/me\/activities",
                            "query": [
                                {
                                    "key": "filter",
                                    "value": "week",
                                    "description": "optional Filter by period: `week` or `month`.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/me\/activities?filter=week"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns the authenticated user's email notification history.\nPowers the Activity Center (bell icon) in the app."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"ACTIVITIES_RETRIEVED\",\"body\":{\"activities\":[{\"template\":\"referral_activity\",\"subject\":\"Update on your referral: Marko\",\"sent_at\":\"2026-06-01 10:00:00\",\"reference_type\":\"referral\",\"reference_id\":5}]}}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Referrals",
            "description": "",
            "item": [
                {
                    "name": "List referrals",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/referrals",
                            "query": [
                                {
                                    "key": "status",
                                    "value": "qualified",
                                    "description": "optional Filter by status.",
                                    "disabled": false
                                },
                                {
                                    "key": "search",
                                    "value": "Marko",
                                    "description": "optional Search by client name.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/referrals?status=qualified&search=Marko"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns referrals filtered by role: partners see only their own,\nagents see assigned referrals, admins see all."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"REFERRALS_RETRIEVED\",\"body\":{\"referrals\":[],\"total\":0}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Create referral",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/referrals",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/referrals"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"client_name\":\"Marko Markovi\u0107\",\"client_phone\":\"+381641234567\",\"client_email\":\"marko@example.com\",\"transaction_type\":\"sale\",\"property_type\":\"apartment\",\"estimated_value\":150000,\"monthly_rent\":600,\"gdpr_consent\":true,\"property_description\":\"Three-bedroom apartment in Novi Beograd\"}"
                        },
                        "description": "Submits a new client referral. Runs duplicate detection automatically."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\"message\":\"REFERRAL_CREATED\",\"body\":{\"id\":1,\"duplicate_flag\":false,\"duplicate_score\":0}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 406,
                            "body": "{\"message\":\"VALIDATION_ERROR\",\"body\":{\"gdpr_consent\":[\"GDPR consent is required.\"]}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Check for duplicates",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/referrals\/check-duplicate",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/referrals\/check-duplicate"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"client_name\":\"Marko Markovi\u0107\",\"client_phone\":\"+381641234567\",\"client_email\":\"marko@example.com\"}"
                        },
                        "description": "Pre-submission duplicate check. Returns a score and list of potential matches."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"DUPLICATE_CHECK_COMPLETE\",\"body\":{\"score\":80,\"flagged\":true,\"matches\":[{\"referral_id\":3,\"score\":80}]}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Get referral",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/referrals\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/referrals\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": 1,
                                    "description": "The referral ID."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns a single referral with all fields."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"REFERRAL_RETRIEVED\",\"body\":{\"referral\":{}}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"FORBIDDEN\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Update referral status",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/referrals\/:id\/status",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/referrals\/:id\/status",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": 1,
                                    "description": ""
                                }
                            ]
                        },
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"status\":\"qualified\"}"
                        },
                        "description": "Updates the status of a referral. Admin\/agent only."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"REFERRAL_STATUS_UPDATED\",\"body\":{\"id\":1,\"status\":\"qualified\"}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"FORBIDDEN\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Reject referral",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/referrals\/:id\/reject",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/referrals\/:id\/reject",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": 1,
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"rejection_reason\":\"Klijent je ve\u0107 u kontaktu sa drugom agencijom.\"}"
                        },
                        "description": "Rejects a referral with a mandatory reason. Notifies the referrer by email.\nAdmin\/agent only."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"REFERRAL_REJECTED\",\"body\":{\"id\":1}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"FORBIDDEN\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Property Timeline",
            "description": "",
            "item": [
                {
                    "name": "List activities",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/referrals\/:referralId\/activities",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/referrals\/:referralId\/activities",
                            "variable": [
                                {
                                    "id": "referralId",
                                    "key": "referralId",
                                    "value": 1,
                                    "description": ""
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns the property timeline for a referral.\nPartners only see activities with `visibility = referrer`; admins\/agents see all."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"ACTIVITIES_RETRIEVED\",\"body\":{\"activities\":[]}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Add activity",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/referrals\/:referralId\/activities",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/referrals\/:referralId\/activities",
                            "variable": [
                                {
                                    "id": "referralId",
                                    "key": "referralId",
                                    "value": 1,
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"activity_type_id\":3,\"description\":\"Client meeting scheduled for Monday.\",\"agent_notes\":\"Client seems motivated.\",\"visibility\":\"referrer\",\"amount\":175000,\"next_action\":\"Send offer\",\"due_date\":\"2026-06-15\"}"
                        },
                        "description": "Adds a new timeline activity to a referral. Admin\/agent only."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\"message\":\"ACTIVITY_CREATED\",\"body\":{\"id\":1}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"FORBIDDEN\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Admin: Users",
            "description": "",
            "item": [
                {
                    "name": "List users",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/admin\/users",
                            "query": [
                                {
                                    "key": "status",
                                    "value": "pending_approval",
                                    "description": "optional Filter by status.",
                                    "disabled": false
                                },
                                {
                                    "key": "search",
                                    "value": "Jelena",
                                    "description": "optional Search by name or email.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/admin\/users?status=pending_approval&search=Jelena"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns all users with filtering. Includes pending approval queue."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"USERS_RETRIEVED\",\"body\":{\"users\":[],\"total\":0}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Approve user",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/admin\/users\/:id\/approve",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/admin\/users\/:id\/approve",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": 42,
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Sets user status to `active`, generates a referral code, and sends a welcome email."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"USER_APPROVED\",\"body\":{\"id\":42,\"referral_code\":\"AB12CD34\"}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"FORBIDDEN\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Block user",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/admin\/users\/:id\/block",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/admin\/users\/:id\/block",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": 42,
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Sets user status to `blocked`, preventing login."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"USER_BLOCKED\",\"body\":{\"id\":42}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"FORBIDDEN\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Promote to partner",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/admin\/users\/:id\/promote",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/admin\/users\/:id\/promote",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": 42,
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Force-promotes a candidate to partner role regardless of deal count."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"USER_PROMOTED\",\"body\":{\"id\":42}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"FORBIDDEN\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Admin: Commissions",
            "description": "",
            "item": [
                {
                    "name": "Preview commission",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/admin\/commissions\/preview",
                            "query": [
                                {
                                    "key": "referral_id",
                                    "value": "5",
                                    "description": "The referral to calculate for.",
                                    "disabled": false
                                },
                                {
                                    "key": "agency_commission",
                                    "value": "3500",
                                    "description": "Agency commission amount in EUR (NOT property price).",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/admin\/commissions\/preview?referral_id=5&agency_commission=3500"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"referral_id\":16,\"agency_commission\":662}"
                        },
                        "description": "Calculates the commission breakdown for a referral before confirming.\nIncludes referral bonus if the referrer has a sponsor."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"COMMISSION_PREVIEW\",\"body\":{\"rate\":0.10,\"partner_amount\":350.00,\"sponsor_bonus\":35.00,\"sub_partner_net\":315.00,\"bonus_eligible\":true}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"FORBIDDEN\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Create commission",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/admin\/commissions",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/admin\/commissions"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"referral_id\":5,\"agency_commission\":5000}"
                        },
                        "description": "Confirms and persists the direct commission for a referral, and (if the\nreferrer has an eligible sponsor) auto-creates the sponsor's referral\nbonus \u2014 10% of the direct amount, deducted from the sub-partner per the\nbruto=neto model. Admin only. This is the reset-proof home for commission\ncreation (PCMS module extensions are regenerated away by hard-reset\/sync)."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\"message\":\"COMMISSION_CREATED\",\"body\":{\"direct_id\":1,\"direct_amount\":500.00,\"bonus_id\":2,\"sponsor_bonus\":50.00}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"FORBIDDEN\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Admin: Payouts",
            "description": "",
            "item": [
                {
                    "name": "Initiate monthly payout",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/admin\/payouts",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/admin\/payouts"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"period_month\":6,\"period_year\":2026}"
                        },
                        "description": "Creates payout records for all partners with pending commissions and notifies them."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"PAYOUT_INITIATED\",\"body\":{\"payouts_created\":5,\"total_disbursed\":4250.00}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"FORBIDDEN\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "General",
            "description": "\nSystem-level endpoints for CMS management, AI helpers and API overdraft status.",
            "item": [
                {
                    "name": "Refresh API overdraft status",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/refresh-api-overdraft-status",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/refresh-api-overdraft-status"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Refreshes and returns the current API overdraft flag. Used by the frontend to check if the API call limit is exceeded.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "x-ratelimit-limit",
                                    "value": "60"
                                },
                                {
                                    "key": "x-ratelimit-remaining",
                                    "value": "59"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 200,
                            "body": "{\"message\":\"API_OVERDRAFT_STATUS_REFRESH_SUCCESS\",\"body\":{\"api_overdraft_status\":false}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Check export status",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/database-export",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/database-export"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns the current database export status and a list of available export files."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 500,
                            "body": "{\"message\":\"GENERAL_EXCEPTION\",\"body\":{\"message\":\"There's been an error!\",\"code\":\"disabled\",\"file\":\"disabled\",\"line\":\"disabled\",\"trace\":\"disabled\"}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Check import status",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/database-import",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/database-import"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns the current database import status."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 500,
                            "body": "{\"message\":\"GENERAL_EXCEPTION\",\"body\":{\"message\":\"There's been an error!\",\"code\":\"disabled\",\"file\":\"disabled\",\"line\":\"disabled\",\"trace\":\"disabled\"}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Export database",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/database-export",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/database-export"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Dispatches an async job to export the database to a `.tar` archive. Check export status to poll for completion."
                    },
                    "response": []
                },
                {
                    "name": "Import database",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/database-import",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/database-import"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "multipart\/form-data"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "formdata",
                            "formdata": [
                                {
                                    "key": "file",
                                    "src": [],
                                    "type": "file"
                                }
                            ]
                        },
                        "description": "Uploads a `.tar` database backup file and dispatches an async import job."
                    },
                    "response": []
                },
                {
                    "name": "Hard reset CMS",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/photon\/hard-reset",
                            "query": [
                                {
                                    "key": "clean",
                                    "value": "",
                                    "description": "optional If true, also removes generated model and migration files.",
                                    "disabled": true
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/photon\/hard-reset?clean="
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Clears all dynamic models, migrations and DB tables, then rebuilds and re-seeds from scratch. Destructive \u2014 use with extreme caution."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 200,
                            "body": "{\"message\":\"PHOTON_HARD_RESET_SUCCESS\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Soft reset CMS",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/photon\/soft-reset",
                            "query": [
                                {
                                    "key": "clean",
                                    "value": "",
                                    "description": "optional If true, also removes generated files.",
                                    "disabled": true
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/photon\/soft-reset?clean="
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Resets the CMS to its default state while preserving module extenders. Useful when a project-specific seed is configured."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 200,
                            "body": "{\"message\":\"PHOTON_SOFT_RESET_SUCCESS\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Translate text (AI)",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/ai\/translate",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/ai\/translate"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"string\":\"Hello world\",\"target_language_code\":\"de\"}"
                        },
                        "description": "Translates the given text to the target language using OpenAI. Requires `OPENAI_API_KEY` to be configured."
                    },
                    "response": []
                },
                {
                    "name": "Edit text (AI)",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/ai\/edit",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/ai\/edit"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"text\":\"This is a rough draft.\",\"system_prompt\":\"Fix grammar and improve clarity.\",\"target_language_code\":\"en\"}"
                        },
                        "description": "Edits or rewrites text according to the given system prompt, using OpenAI. Requires `OPENAI_API_KEY` to be configured."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Admin: Referrals",
            "description": "",
            "item": [
                {
                    "name": "Remove referral from system",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/admin\/referrals\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/admin\/referrals\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": 5,
                                    "description": ""
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"reason\":\"Deal closed through another agency.\"}"
                        },
                        "description": "Fully deletes a referral from the system (e.g. deal closed through another agency).\nDifferent from rejection \u2014 the record is permanently removed."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"REFERRAL_REMOVED\",\"body\":{\"id\":5}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"FORBIDDEN\",\"body\":{}}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Entries",
            "description": "\nEndpoints for creating, reading, updating and deleting dynamic module entries.",
            "item": [
                {
                    "name": "Retrieves a single dynamic module entry.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/:tableName\/:entryId",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/:tableName\/:entryId",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                },
                                {
                                    "id": "entryId",
                                    "key": "entryId",
                                    "value": "564",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": ""
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Filter entries",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/filter",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/filter"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"modules\":[\"news\"],\"filter\":{\"system\":[],\"fields\":[]},\"sorting\":{\"field\":\"created_at\",\"direction\":\"desc\"},\"pagination\":{\"items_per_page\":15,\"current_page\":1},\"include\":[\"architecto\"]}"
                        },
                        "description": "Returns paginated entries from one or more modules matching the given filter, sorting and pagination criteria."
                    },
                    "response": []
                },
                {
                    "name": "Download export",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/export\/download\/:fileName",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/export\/download\/:fileName",
                            "variable": [
                                {
                                    "id": "fileName",
                                    "key": "fileName",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Downloads a previously exported file by its file name. Use the file name returned by the export endpoint.",
                        "auth": {
                            "type": "noauth"
                        }
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 404,
                            "body": "{\"message\":\"FILE_NOT_FOUND\",\"body\":{\"file\":\"\\\/Users\\\/milanandjelkovic\\\/Sites\\\/m2-partner-api\\\/storage\\\/app\\\/database-exports\\\/architecto\"}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Get node children",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/nodes\/:tableName\/:id",
                            "query": [
                                {
                                    "key": "child_modules",
                                    "value": "architecto",
                                    "description": "optional Comma-separated list of scoped child module table names to include.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/nodes\/:tableName\/:id?child_modules=architecto",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                },
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "architecto",
                                    "description": "The ID of the {tableName}."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns the immediate children of the specified node, or root-level nodes if no ID is given."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Get node ancestors",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/nodes\/:tableName\/ancestors\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/nodes\/:tableName\/ancestors\/:id",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                },
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "architecto",
                                    "description": "The ID of the ancestor."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns the ancestral tree path from the root down to the specified node."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Get node children",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/nodes\/:tableName",
                            "query": [
                                {
                                    "key": "child_modules",
                                    "value": "architecto",
                                    "description": "optional Comma-separated list of scoped child module table names to include.",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/api\/nodes\/:tableName?child_modules=architecto",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns the immediate children of the specified node, or root-level nodes if no ID is given."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Reposition node",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/nodes\/reposition",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/nodes\/reposition"
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"action\":\"moveLeft\",\"affected\":[],\"target\":[]}"
                        },
                        "description": "Repositions a node within the tree using a named action (e.g. moveLeft, makeChildOf)."
                    },
                    "response": []
                },
                {
                    "name": "Call extension action",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/extension_call\/:tableName\/:entryId\/:action\/:parameters",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/extension_call\/:tableName\/:entryId\/:action\/:parameters",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                },
                                {
                                    "id": "entryId",
                                    "key": "entryId",
                                    "value": "architecto",
                                    "description": ""
                                },
                                {
                                    "id": "action",
                                    "key": "action",
                                    "value": "architecto",
                                    "description": ""
                                },
                                {
                                    "id": "parameters",
                                    "key": "parameters",
                                    "value": "{+-0pB",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Calls a custom action defined in the module's extension class."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Subscribe to entry",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/subscribe\/:tableName\/:entryId",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/subscribe\/:tableName\/:entryId",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                },
                                {
                                    "id": "entryId",
                                    "key": "entryId",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Subscribes the authenticated user to change notifications for the specified entry."
                    },
                    "response": []
                },
                {
                    "name": "Unsubscribe from entry",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/subscribe\/:tableName\/:entryId",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/subscribe\/:tableName\/:entryId",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                },
                                {
                                    "id": "entryId",
                                    "key": "entryId",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Unsubscribes the authenticated user from change notifications for the specified entry."
                    },
                    "response": []
                },
                {
                    "name": "Create entry",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/:tableName",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/:tableName",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"system\":[],\"fields\":[]}"
                        },
                        "description": "Creates a new entry in the specified module. File uploads are supported for asset modules (multipart\/form-data)."
                    },
                    "response": []
                },
                {
                    "name": "Duplicate entry",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/duplicate\/:tableName\/:entryId",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/duplicate\/:tableName\/:entryId",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                },
                                {
                                    "id": "entryId",
                                    "key": "entryId",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Creates a copy of an existing module entry, preserving all field values."
                    },
                    "response": []
                },
                {
                    "name": "Update entry",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/:tableName\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/:tableName\/:id",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                },
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "architecto",
                                    "description": "The ID of the {tableName}."
                                }
                            ]
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"system\":[],\"fields\":[]}"
                        },
                        "description": "Updates field values on an existing module entry."
                    },
                    "response": []
                },
                {
                    "name": "Mass update entries",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/:tableName",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/:tableName",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"filter\":[],\"fields\":[]}"
                        },
                        "description": "Applies a bulk update to all module entries matching the given filter."
                    },
                    "response": []
                },
                {
                    "name": "Delete entry",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/:tableName\/:entryId",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/:tableName\/:entryId",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                },
                                {
                                    "id": "entryId",
                                    "key": "entryId",
                                    "value": "564",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"force\":false}"
                        },
                        "description": "Deletes a module entry. The entry must have no related entries in other modules unless `force` is passed."
                    },
                    "response": []
                },
                {
                    "name": "Export entries",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/export\/:tableName",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/export\/:tableName",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"file_type\":\"xlsx\",\"file_name\":\"news-export\",\"filter\":[],\"sorting\":[],\"parameters\":[]}"
                        },
                        "description": "Exports module entries matching the given filter to a file (e.g. XLSX). Returns a file name to use with the download endpoint."
                    },
                    "response": []
                },
                {
                    "name": "Export single entry",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/export\/:tableName\/:entryId",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/export\/:tableName\/:entryId",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                },
                                {
                                    "id": "entryId",
                                    "key": "entryId",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"file_type\":\"xlsx\",\"file_name\":\"entry-export\",\"parameters\":[]}"
                        },
                        "description": "Exports a single module entry to a file."
                    },
                    "response": []
                },
                {
                    "name": "Count entries",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/count\/:tableName",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/count\/:tableName",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"filter\":[]}"
                        },
                        "description": "Returns the total count of module entries matching the given filter."
                    },
                    "response": []
                },
                {
                    "name": "Get entry stats",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/stats\/:tableName",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/stats\/:tableName",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns aggregated statistics (totals, breakdowns) for the specified module's entries."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Get weekly chart data",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/weekly-chart\/:tableName",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/weekly-chart\/:tableName",
                            "variable": [
                                {
                                    "id": "tableName",
                                    "key": "tableName",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"chart_period\":4}"
                        },
                        "description": "Returns entry counts grouped by week for charting purposes."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Fields",
            "description": "\nEndpoints for retrieving available field type definitions.",
            "item": [
                {
                    "name": "Retrieves all field types.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/field_types",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/field_types"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": ""
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Modules",
            "description": "\nEndpoints for managing CMS module definitions (schema, fields, types).",
            "item": [
                {
                    "name": "List modules",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/modules",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/modules"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns all registered CMS modules with their field definitions."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Create module",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/modules",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/modules"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"module\":{\"name\":\"News Articles\",\"table_name\":\"news_articles\",\"type\":1},\"fields\":[\"architecto\"],\"reporting\":false}"
                        },
                        "description": "Creates a new dynamic module with its database table and field definitions. Requires super admin + dev environment."
                    },
                    "response": []
                },
                {
                    "name": "Update module",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/modules\/:table",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/modules\/:table",
                            "variable": [
                                {
                                    "id": "table",
                                    "key": "table",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"module\":[],\"fields\":[\"architecto\"],\"reporting\":false}"
                        },
                        "description": "Updates an existing module's definition and field structure. Requires super admin + dev environment."
                    },
                    "response": []
                },
                {
                    "name": "Get module",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/modules\/:table",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/modules\/:table",
                            "variable": [
                                {
                                    "id": "table",
                                    "key": "table",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns a single module's definition including all field configurations."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Delete module",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/modules\/:table",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/modules\/:table",
                            "variable": [
                                {
                                    "id": "table",
                                    "key": "table",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Permanently deletes a module and its database table. Requires super admin + dev environment."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Notifications",
            "description": "\nEndpoints for managing and retrieving user notifications.",
            "item": [
                {
                    "name": "Sends the specified notification.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/notify\/:notification_name",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/notify\/:notification_name",
                            "variable": [
                                {
                                    "id": "notification_name",
                                    "key": "notification_name",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": ""
                    },
                    "response": []
                },
                {
                    "name": "Marks the specific notification as read.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/notifications\/read\/:notificationId",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/notifications\/read\/:notificationId",
                            "variable": [
                                {
                                    "id": "notificationId",
                                    "key": "notificationId",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": ""
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Counts unread notifications of the currently logged in user.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/notifications\/unread\/count",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/notifications\/unread\/count"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": ""
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Get notifications",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/notifications\/all",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/notifications\/all"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"pagination\":{\"items_per_page\":10,\"current_page\":1}}"
                        },
                        "description": "Retrieves paginated notifications for the authenticated user."
                    },
                    "response": []
                },
                {
                    "name": "Get unread notifications",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/notifications\/unread",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/notifications\/unread"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"pagination\":{\"items_per_page\":10,\"current_page\":1}}"
                        },
                        "description": "Retrieves paginated unread notifications for the authenticated user."
                    },
                    "response": []
                },
                {
                    "name": "Assigns the specified FCM token to the currently logged in user.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/notifications\/fcm\/assign_token\/:token",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/notifications\/fcm\/assign_token\/:token",
                            "variable": [
                                {
                                    "id": "token",
                                    "key": "token",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": ""
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Revokes the specified FCM token from the currently logged in user.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "api\/notifications\/fcm\/revoke_token\/:token",
                            "query": [],
                            "raw": "{{baseUrl}}\/api\/notifications\/fcm\/revoke_token\/:token",
                            "variable": [
                                {
                                    "id": "token",
                                    "key": "token",
                                    "value": "architecto",
                                    "description": ""
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": ""
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "access-control-allow-origin",
                                    "value": "*"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"TOKEN_EXPIRED\",\"body\":[]}",
                            "name": ""
                        }
                    ]
                }
            ]
        }
    ],
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "Authorization",
                "type": "string"
            }
        ]
    }
}