Last Connected timestamp for identity

Hi Again,

Is it possible to get a “last connected” timestamp for an identity ?

As far as i can see, there isn’t a “last connected” timestamp which tells me when hasEdgeRouterConnection was last true.

Here’s example output from ziti edge list identities -j 'name contains "b983b775648f.example.identity"'

{
    "data": [
        {
            "_links": {
                "auth-policies": {
                    "href": "./auth-policies/default"
                },
                "authenticators": {
                    "href": "./identities/KBY8xtBA1/authenticators"
                },
                "edge-router-policies": {
                    "href": "./identities/KBY8xtBA1/edge-router-policies"
                },
                "edge-routers": {
                    "href": "./identities/KBY8xtBA1/edge-routers"
                },
                "enrollments": {
                    "href": "./identities/KBY8xtBA1/enrollments"
                },
                "failed-service-requests": {
                    "href": "./identities/KBY8xtBA1/failed-service-requests"
                },
                "posture-data": {
                    "href": "./identities/KBY8xtBA1/posture-data"
                },
                "self": {
                    "href": "./identities/KBY8xtBA1"
                },
                "service-configs": {
                    "href": "./identities/KBY8xtBA1/service-configs"
                },
                "service-policies": {
                    "href": "./identities/KBY8xtBA1/service-policies"
                },
                "services": {
                    "href": "./identities/KBY8xtBA1/services"
                }
            },
            "createdAt": "2025-09-05T12:55:32.546Z",
            "id": "KBY8xtBA1",
            "tags": {},
            "updatedAt": "2025-09-05T12:55:32.546Z",
            "appData": {},
            "authPolicy": {
                "_links": {
                    "self": {
                        "href": "./auth-policies/default"
                    }
                },
                "entity": "auth-policies",
                "id": "default",
                "name": "Default"
            },
            "authPolicyId": "default",
            "authenticators": {
                "cert": {
                    "fingerprint": "713ed0ffd67c196994db95ee0be1ea98ebc59356",
                    "id": "WBYRxXpA1"
                }
            },
            "defaultHostingCost": 0,
            "defaultHostingPrecedence": "default",
            "disabled": false,
            "edgeRouterConnectionStatus": "offline",
            "enrollment": {},
            "envInfo": {},
            "externalId": null,
            "hasApiSession": false,
            "hasEdgeRouterConnection": false,
            "interfaces": null,
            "isAdmin": false,
            "isDefaultAdmin": false,
            "isMfaEnabled": false,
            "name": "b983b775648f.example.identity",
            "roleAttributes": [
                "ssh"
            ],
            "sdkInfo": {},
            "serviceHostingCosts": {},
            "serviceHostingPrecedences": {},
            "type": {
                "_links": {
                    "self": {
                        "href": "./identity-types/Default"
                    }
                },
                "entity": "identity-types",
                "id": "Default",
                "name": "Default"
            },
            "typeId": "Default"
        }
    ],
    "meta": {
        "filterableFields": [
            "createdAt",
            "updatedAt",
            "tags",
            "isSystem",
            "externalId",
            "isAdmin",
            "id",
            "roleAttributes",
            "name",
            "type",
            "authPolicyId",
            "isDefaultAdmin"
        ],
        "pagination": {
            "limit": 10,
            "offset": 0,
            "totalCount": 1
        }
    }
}

Hi @farmhouse, that's a feature that has been asked for before but the controller doesn't track it yet. It might be implemented at some point in the future but it'll be prioritized with all the other things we have going on. I'll ask others to see if there's anything that's similar on a different resource.

We don't have it stored in the database, but there are events which are generated whenever a user authenticates. See ApiSession and Authentication events: Events | NetFoundry Documentation

Paul