{
  "service": "livesession",
  "displayName": "LiveSession",
  "categories": [
    "Data",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "LIVESESSION_API_TOKEN",
      "description": "LiveSession personal access token sent as Authorization: Bearer <token>. Create or view a token from the official API authentication docs: https://livesession.dev/docs/api/authentication."
    }
  ],
  "homepageUrl": "https://livesession.io",
  "actions": [
    {
      "id": "livesession.list_sessions",
      "service": "livesession",
      "name": "list_sessions",
      "description": "List LiveSession session replays with pagination and common filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 0,
            "maximum": 10000,
            "description": "The page number to start with. LiveSession defaults to 0."
          },
          "size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of sessions per page. LiveSession defaults to 25."
          },
          "email": {
            "type": "string",
            "description": "Filter sessions by the identified visitor email address.",
            "format": "email"
          },
          "visitorId": {
            "type": "string",
            "minLength": 1,
            "description": "Filter sessions by LiveSession visitor ID."
          },
          "timezone": {
            "type": "string",
            "minLength": 1,
            "description": "IANA timezone used by LiveSession for relative date filters."
          },
          "dateFrom": {
            "anyOf": [
              {
                "type": "string",
                "description": "An ISO 8601 timestamp accepted by LiveSession.",
                "format": "date-time"
              },
              {
                "type": "string",
                "enum": [
                  "TODAY",
                  "YESTERDAY",
                  "BEGINNING_OF_WEEK",
                  "BEGINNING_OF_MONTH"
                ],
                "description": "A LiveSession relative date shortcut."
              }
            ],
            "description": "An ISO 8601 timestamp or LiveSession relative date string."
          },
          "dateTo": {
            "anyOf": [
              {
                "type": "string",
                "description": "An ISO 8601 timestamp accepted by LiveSession.",
                "format": "date-time"
              },
              {
                "type": "string",
                "enum": [
                  "TODAY",
                  "YESTERDAY",
                  "BEGINNING_OF_WEEK",
                  "BEGINNING_OF_MONTH"
                ],
                "description": "A LiveSession relative date shortcut."
              }
            ],
            "description": "An ISO 8601 timestamp or LiveSession relative date string."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing LiveSession sessions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "minimum": 0,
            "description": "Total sessions matching the query."
          },
          "page": {
            "type": "object",
            "properties": {
              "num": {
                "type": "integer",
                "description": "The current LiveSession page number."
              },
              "size": {
                "type": "integer",
                "description": "The page size used by LiveSession."
              }
            },
            "additionalProperties": false,
            "description": "LiveSession pagination metadata."
          },
          "sessions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The LiveSession session identifier."
                },
                "websiteId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The website identifier where the session was recorded."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "sessionUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The URL to open the session in the LiveSession dashboard."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "creationTimestamp": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "Unix timestamp when the session was created, as returned by LiveSession."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "duration": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "Total session duration in seconds when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "device": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "Device type reported for the session."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "visitor": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "Nested LiveSession session data."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw LiveSession session object."
                }
              },
              "additionalProperties": true,
              "description": "A normalized LiveSession session."
            },
            "description": "Sessions returned by LiveSession."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw LiveSession list sessions response."
          }
        },
        "additionalProperties": false,
        "description": "A LiveSession session list response."
      }
    }
  ]
}
