Validate session by session ID

Summary

  • Source repository: jef-systems/jef-one-backend

  • Source SHA: 17bfdeb6e2392d002fc1df2729566e852b315974

  • Source run id: 32514171359

  • Module: One

  • Lambda function: jef-one-validate-session-by-session-id

  • HTTP method: GET

  • Invocation mode: sync

  • Package mode: no-package

  • API category: One Complex Sync No Package GET APIs

  • API path: /one/complex-sync-no-packages/jef-one-validate-session-by-session-id

  • Endpoint URL: https://api.jefoffice.com/one/complex-sync-no-packages/jef-one-validate-session-by-session-id

  • 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 a compact session, one application attachment, and the current application, entity, employee, access, and role chain.

Payload Example

{
  "session_id": "8d4e7d32-2f6f-4d13-9b8e-0f4e98ef0001",
  "application_name": "jef-example"
}

Payload Schema

{
  "root": {
    "type": "M",
    "required": true,
    "attributes": {
      "session_id": {
        "type": "S",
        "required": true,
        "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
      },
      "application_name": {
        "type": "S",
        "required": true,
        "pattern": "^[A-Za-z0-9 .,'_-]{1,120}$",
        "min_length": 1,
        "max_length": 120
      }
    }
  }
}

Response Schema

{
  "root": {
    "type": "M",
    "required": true,
    "attributes": {
      "is_accepted": {
        "type": "BOOL",
        "required": true
      },
      "can_continue": {
        "type": "BOOL",
        "required": true
      },
      "message_type": {
        "type": "S",
        "required": true
      },
      "message": {
        "type": "S",
        "required": true
      },
      "next_action": {
        "type": "S",
        "required": true
      },
      "operation": {
        "type": "S",
        "required": true
      },
      "status_code": {
        "type": "N",
        "required": true,
        "integer": true,
        "minimum": 100,
        "maximum": 599
      },
      "failure_code": {
        "type": "S",
        "required": false
      },
      "failure_reason": {
        "type": "S",
        "required": false
      },
      "is_valid": {
        "type": "BOOL",
        "required": true
      },
      "session_found": {
        "type": "BOOL",
        "required": true
      },
      "session_active": {
        "type": "BOOL",
        "required": true
      },
      "is_active": {
        "type": "BOOL",
        "required": true
      },
      "validator_version": {
        "type": "S",
        "required": true
      },
      "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
      },
      "jsin": {
        "type": "S",
        "required": false,
        "pattern": "^[0-9]{4}$",
        "min_length": 4,
        "max_length": 4
      },
      "employee_number": {
        "type": "S",
        "required": false,
        "pattern": "^[0-9]{5}$",
        "min_length": 5,
        "max_length": 5
      },
      "application_name": {
        "type": "S",
        "required": false,
        "pattern": "^[A-Za-z0-9 .,'_-]{1,120}$",
        "min_length": 1,
        "max_length": 120
      },
      "display_name": {
        "type": "S",
        "required": false,
        "min_length": 1,
        "max_length": 120
      },
      "active_roles": {
        "type": "L",
        "required": false,
        "items": {
          "type": "S",
          "required": true,
          "pattern": "^(user|admin)$",
          "enum": [
            "user",
            "admin"
          ]
        }
      },
      "primary_role": {
        "type": "S",
        "required": false,
        "pattern": "^(user|admin)$",
        "enum": [
          "user",
          "admin"
        ]
      },
      "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
      },
      "iat": {
        "type": "N",
        "required": false,
        "integer": true,
        "minimum": 0
      },
      "exp": {
        "type": "N",
        "required": false,
        "integer": true,
        "minimum": 0
      },
      "expires_at": {
        "type": "S",
        "required": false,
        "format": "date-time"
      }
    }
  }
}

CMD curl

curl.exe -X GET "https://api.jefoffice.com/one/complex-sync-no-packages/jef-one-validate-session-by-session-id"

PowerShell curl

curl.exe -X GET "https://api.jefoffice.com/one/complex-sync-no-packages/jef-one-validate-session-by-session-id"