.. AUTO-GENERATED FILE. DO NOT EDIT. Validate login and create session ================================= Summary ------- - **Source repository:** ``jef-systems/jef-one-backend`` - **Source SHA:** ``ac65ed21b4ea52235f472efeef826c144a2fe812`` - **Source run id:** ``30028079423`` - **Module:** ``One`` - **Lambda function:** ``jef-one-validate-login-and-create-session`` - **HTTP method:** ``POST`` - **Invocation mode:** ``sync`` - **Package mode:** ``no-package`` - **API category:** ``One Complex Sync No Package POST APIs`` - **API path:** ``/one/complex-sync-no-packages/jef-one-validate-login-and-create-session`` - **Endpoint URL:** ``https://api.jefoffice.com/one/complex-sync-no-packages/jef-one-validate-login-and-create-session`` - **Documentation scope:** ``lambda-complex-sync-no-packages`` Synchronous Lambda Complex Rule ------------------------------- This API is documented as a synchronous Lambda complex no-package API. API Gateway waits for the Lambda result and returns the final Lambda response. Description ----------- Validates login, resolves the effective employee role on the server, and atomically creates or reuses a verified 10-hour session containing a local role snapshot. Payload Example --------------- .. code-block:: json { "entity_number": "1000", "application_name": "jef-one", "employee_number": "10000", "password": "pass1234" } Payload Schema -------------- .. code-block:: json { "root": { "type": "M", "required": true, "attributes": { "session_id": { "type": "S", "required": false, "format": "uuid", "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "min_length": 36, "max_length": 36 }, "entity_number": { "type": "S", "required": true, "pattern": "^[0-9]{4}$", "min_length": 4, "max_length": 4 }, "application_name": { "type": "S", "required": true, "pattern": "^[A-Za-z0-9 .,'_-]{1,120}$", "min_length": 1, "max_length": 120 }, "employee_number": { "type": "S", "required": true, "pattern": "^[0-9]{5}$", "min_length": 5, "max_length": 5 }, "password": { "type": "S", "required": true, "min_length": 1, "max_length": 120, "write_only": true }, "role_type": { "type": "S", "required": false, "pattern": "^(user|admin)$", "enum": [ "user", "admin" ], "min_length": 4, "max_length": 5 } }, "additional_properties": false } } Response Schema --------------- .. code-block:: json { "root": { "type": "M", "required": true, "attributes": { "is_accepted": { "type": "BOOL", "required": true }, "is_valid": { "type": "BOOL", "required": true }, "can_continue": { "type": "BOOL", "required": true }, "session_saved": { "type": "BOOL", "required": true }, "session_active": { "type": "BOOL", "required": true }, "is_active": { "type": "BOOL", "required": true }, "message": { "type": "S", "required": true }, "operation": { "type": "S", "required": true }, "status_code": { "type": "N", "required": true, "integer": true, "minimum": 100, "maximum": 599 }, "session_id": { "type": "S", "required": false, "format": "uuid", "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" }, "session_attached_credential_id": { "type": "S", "required": false, "format": "uuid", "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" }, "application_allowed_entity_id": { "type": "S", "required": false, "format": "uuid", "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" }, "entity_allowed_employee_id": { "type": "S", "required": false, "format": "uuid", "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" }, "domain_id": { "type": "S", "required": false, "format": "uuid", "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" }, "application_id": { "type": "S", "required": false, "format": "uuid", "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" }, "entity_id": { "type": "S", "required": false, "format": "uuid", "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" }, "employee_id": { "type": "S", "required": false, "format": "uuid", "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" }, "entity_number": { "type": "S", "required": false, "pattern": "^[0-9]{4}$", "min_length": 4, "max_length": 4 }, "application_name": { "type": "S", "required": false, "pattern": "^[A-Za-z0-9 .,'_-]{1,120}$", "min_length": 1, "max_length": 120 }, "employee_number": { "type": "S", "required": false, "pattern": "^[0-9]{5}$", "min_length": 5, "max_length": 5 }, "role_type": { "type": "S", "required": false, "pattern": "^(user|admin)$", "enum": [ "user", "admin" ] }, "role_name": { "type": "S", "required": false, "pattern": "^[A-Za-z0-9 .,'_-]{1,120}$", "min_length": 1, "max_length": 120 }, "role_description": { "type": "S", "required": false, "min_length": 1, "max_length": 500 }, "display_name": { "type": "S", "required": false }, "main_parent_key_name": { "type": "S", "required": false, "pattern": "^[A-Za-z0-9_-]{1,120}$", "min_length": 1, "max_length": 120 }, "main_parent_key_value": { "type": "S", "required": false, "min_length": 1, "max_length": 255 }, "expires_at": { "type": "S", "required": false, "format": "date-time" }, "status": { "type": "S", "required": false }, "failure_code": { "type": "S", "required": false }, "failure_reason": { "type": "S", "required": false }, "iat": { "type": "N", "required": false, "integer": true, "minimum": 0 }, "exp": { "type": "N", "required": false, "integer": true, "minimum": 0 } } } } Request Payload --------------- .. code-block:: json { "entity_number": "1000", "application_name": "jef-one", "employee_number": "10000", "password": "pass1234" } CMD curl -------- .. code-block:: bat curl.exe -X POST "https://api.jefoffice.com/one/complex-sync-no-packages/jef-one-validate-login-and-create-session" -H "Content-Type: application/json" --data-raw '{}' PowerShell curl --------------- .. code-block:: powershell curl.exe -X POST "https://api.jefoffice.com/one/complex-sync-no-packages/jef-one-validate-login-and-create-session" -H "Content-Type: application/json" --data-raw '{}'