{"info":{"name":"Auth Service \u2014 \ud83d\udc65 Users","_postman_id":"4456c2e8-ed00-42f0-a2ed-8fca607a0c3f","schema":"https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json"},"item":[{"name":"\ud83d\udc65 Users","description":"User management endpoints: CRUD operations, role assignment, and permission management.","item":[{"name":"List Users","request":{"method":"GET","header":[],"url":{"raw":"{{auth_url}}\/v1\/users","host":["{{auth_url}}"],"path":["v1","users"],"query":[{"key":"page","value":"1","description":"Page number","disabled":true},{"key":"per_page","value":"15","description":"Items per page","disabled":true},{"key":"search","value":"","description":"Search by name or email","disabled":true},{"key":"status","value":"active","description":"Filter by status: active, inactive, suspended","disabled":true},{"key":"role","value":"","description":"Filter by role name","disabled":true},{"key":"sort_by","value":"created_at","description":"Sort field","disabled":true},{"key":"sort_order","value":"desc","description":"Sort direction: asc, desc","disabled":true}]},"description":"List all users with optional filters and pagination.\n\n**Authentication:** Bearer token required\n\n**Permission:** `users.view`\n\n**Query parameters (all optional):**\n- `page` \u2014 Page number\n- `per_page` \u2014 Items per page\n- `search` \u2014 Search by name or email\n- `status` \u2014 Filter by status (active, inactive, suspended)\n- `role` \u2014 Filter by role name\n- `sort_by` \u2014 Sort field\n- `sort_order` \u2014 Sort direction (asc, desc)"},"response":[]},{"name":"Create User","request":{"method":"POST","header":[{"key":"Content-Type","value":"application\/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"New User\",\n\t\"email\": \"newuser@example.com\",\n\t\"password\": \"password123\",\n\t\"phone\": \"+966500000002\",\n\t\"status\": \"active\",\n\t\"roles\": [\"merchant\"],\n\t\"metadata\": {}\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{auth_url}}\/v1\/users","host":["{{auth_url}}"],"path":["v1","users"]},"description":"Create a new user.\n\n**Authentication:** Bearer token required\n\n**Permission:** `users.create`\n\n**Required fields:**\n- `name` (string) \u2014 Full name\n- `email` (string) \u2014 Valid email address\n- `password` (string) \u2014 Minimum 8 characters\n\n**Optional fields:**\n- `phone` (string) \u2014 Phone number with country code\n- `status` (string) \u2014 User status: active, inactive, suspended (default: active)\n- `roles` (array of strings) \u2014 Roles to assign\n- `metadata` (object) \u2014 Additional metadata"},"response":[]},{"name":"Show User","request":{"method":"GET","header":[],"url":{"raw":"{{auth_url}}\/v1\/users\/{{user_id}}","host":["{{auth_url}}"],"path":["v1","users","{{user_id}}"]},"description":"Get details of a specific user.\n\n**Authentication:** Bearer token required\n\n**Permission:** `users.view`\n\n**Path parameters:**\n- `user_id` \u2014 The user's ID"},"response":[]},{"name":"Update User","request":{"method":"PUT","header":[{"key":"Content-Type","value":"application\/json"}],"body":{"mode":"raw","raw":"{\n\t\"name\": \"Updated Name\",\n\t\"phone\": \"+966500000003\",\n\t\"status\": \"active\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{auth_url}}\/v1\/users\/{{user_id}}","host":["{{auth_url}}"],"path":["v1","users","{{user_id}}"]},"description":"Update a specific user's details.\n\n**Authentication:** Bearer token required\n\n**Permission:** `users.update`\n\n**Path parameters:**\n- `user_id` \u2014 The user's ID\n\n**Optional fields:**\n- `name` (string) \u2014 Updated full name\n- `phone` (string) \u2014 Updated phone number\n- `status` (string) \u2014 Updated status: active, inactive, suspended"},"response":[]},{"name":"Delete User","request":{"method":"DELETE","header":[],"url":{"raw":"{{auth_url}}\/v1\/users\/{{user_id}}","host":["{{auth_url}}"],"path":["v1","users","{{user_id}}"]},"description":"Delete a specific user.\n\n**Authentication:** Bearer token required\n\n**Permission:** `users.delete`\n\n**Path parameters:**\n- `user_id` \u2014 The user's ID"},"response":[]},{"name":"Assign Roles","request":{"method":"POST","header":[{"key":"Content-Type","value":"application\/json"}],"body":{"mode":"raw","raw":"{\n\t\"roles\": [\"merchant\"]\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{auth_url}}\/v1\/users\/{{user_id}}\/roles","host":["{{auth_url}}"],"path":["v1","users","{{user_id}}","roles"]},"description":"Assign roles to a specific user.\n\n**Authentication:** Bearer token required\n\n**Permission:** `roles.update`\n\n**Path parameters:**\n- `user_id` \u2014 The user's ID\n\n**Required fields:**\n- `roles` (array of strings) \u2014 Role names to assign"},"response":[]},{"name":"Get User Permissions","request":{"method":"GET","header":[],"url":{"raw":"{{auth_url}}\/v1\/users\/{{user_id}}\/permissions","host":["{{auth_url}}"],"path":["v1","users","{{user_id}}","permissions"]},"description":"Get all permissions assigned to a specific user (direct and via roles).\n\n**Authentication:** Bearer token required\n\n**Permission:** `permissions.view`\n\n**Path parameters:**\n- `user_id` \u2014 The user's ID"},"response":[]},{"name":"Assign Permissions","request":{"method":"POST","header":[{"key":"Content-Type","value":"application\/json"}],"body":{"mode":"raw","raw":"{\n\t\"permissions\": [\"events.view\"]\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"{{auth_url}}\/v1\/users\/{{user_id}}\/permissions","host":["{{auth_url}}"],"path":["v1","users","{{user_id}}","permissions"]},"description":"Assign direct permissions to a specific user.\n\n**Authentication:** Bearer token required\n\n**Permission:** `permissions.update`\n\n**Path parameters:**\n- `user_id` \u2014 The user's ID\n\n**Required fields:**\n- `permissions` (array of strings) \u2014 Permission names to assign"},"response":[]},{"name":"User Stats","request":{"method":"GET","header":[],"url":{"raw":"{{auth_url}}\/v1\/admin\/stats\/users","host":["{{auth_url}}"],"path":["v1","admin","stats","users"],"query":[{"key":"period","value":"month","description":"Stats period: today, week, month, year, all","disabled":true}]},"description":"Get user statistics for the admin dashboard.\n\n**Authentication:** Bearer token required\n\n**Permission:** `users.view`\n\n**Query parameters (optional):**\n- `period` \u2014 Stats period: today, week, month, year, all"},"response":[]}]}],"auth":{"type":"bearer","bearer":[{"key":"token","value":"{{auth_token}}","type":"string"}]},"variable":[{"key":"auth_url","value":"http:\/\/localhost:8001","description":"Auth service base URL"},{"key":"auth_token","value":"","description":"JWT access token"},{"key":"user_id","value":"","description":"Current user ID"},{"key":"role_id","value":"","description":"Role ID for role operations"},{"key":"permission_id","value":"","description":"Permission ID for permission operations"},{"key":"service_id","value":"","description":"Service record ID for service operations"},{"key":"language","value":"ar","description":"Accept-Language header value (default: ar)"},{"key":"platform","value":"web","description":"X-Platform header value (default: web)"},{"key":"registration_token","value":""}],"event":[{"listen":"prerequest","script":{"type":"text\/javascript","exec":["pm.request.headers.add({ key: 'Accept', value: 'application\/json' });","pm.request.headers.add({ key: 'Accept-Language', value: pm.environment.get('language') || 'ar' });","pm.request.headers.add({ key: 'X-Platform', value: pm.environment.get('platform') || 'web' });"]}}]}