> For the complete documentation index, see [llms.txt](https://developers.memberspace.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.memberspace.com/admin-api/endpoints/member-events.md).

# Member Events

Activity events recorded for your members.

## List member events

> Returns activity events recorded for your members, ordered by id and paginated with an opaque cursor. Filter by member, event type, and date.

```json
{"openapi":"3.2.0","info":{"title":"MemberSpace Admin API","version":"1.0.0"},"tags":[{"name":"memberEvents","description":"Activity events recorded for your members."}],"servers":[{"url":"https://api.memberspace.com/admin/v1","description":"Production"}],"security":[{"apiKey":[]}],"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Opaque Admin API key, prefixed with `ms_admin_`. Pass it as `Authorization: Bearer ms_admin_...`."}},"parameters":{"cursor-header":{"name":"X-Cursor","in":"header","required":false,"schema":{"type":"string"},"description":"First item to return, usually equals the previous page response's `X-Next-Cursor` response header. Omit to fetch the first page. Cursors are opaque tokens — do not parse or construct them."},"itemsAfter-header":{"name":"X-Items-After","in":"header","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"description":"Maximum number of results to return beginning with the cursor, or if not sent the first item in the list (1-100, default 25)."}},"schemas":{"MemberEvent":{"type":"object","description":"An activity event recorded for a member.","properties":{"id":{"type":"integer","description":"Unique event identifier."},"memberId":{"type":"integer","description":"The member the event relates to."},"eventType":{"type":"string","enum":["abandonedConversion","acceptedInvitation","accountCreated","cardUpdated","changedEmail","chargeCreated","dunningConversion","email","logIn","logOut","planAdded","planChanged","planDowngraded","planExpired","planRemoved","planSetToCancel","planUpgraded","resetPassword"],"description":"The specific event that occurred."},"details":{"type":"object","description":"Event-specific metadata. Always present (empty object when the event has none); its fields vary by eventType and include `planId` when the event relates to a plan.","additionalProperties":true},"createdAt":{"type":"string","format":"date-time","description":"When the event occurred."}},"required":["id","memberId","eventType","details","createdAt"]},"ApiError":{"type":"object","description":"Error response.","properties":{"errors":{"type":"array","description":"The errors that occurred.","items":{"type":"object","properties":{"path":{"type":"string","description":"`base` for errors not tied to a specific field; otherwise the dotted path of the offending field (e.g. `community.isEnabled`)."},"code":{"type":"string","description":"Machine-readable error code."},"message":{"type":"string","description":"Human-readable error message."}},"required":["path","code","message"]}}},"required":["errors"]}},"headers":{"hasMoreItemsAfter":{"description":"Whether there are more results after the last item in this page.","schema":{"type":"boolean"}},"nextCursor":{"description":"Opaque cursor for the next page. Omitted when X-Has-More-Items-After is false.","schema":{"type":"string"}},"totalCount":{"description":"Total number of items matching the query across all pages, ignoring pagination.","schema":{"type":"integer"}}},"responses":{"400-InvalidRequest":{"description":"Invalid request (e.g. a malformed cursor).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"401-AccessDenied":{"description":"The API key is missing, unknown, revoked, or expired.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404-NotFound":{"description":"The resource doesn't exist, or the API key lacks the scope to access it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"429-RateLimited":{"description":"Rate limit exceeded. Wait the number of seconds in the Retry-After header before retrying.","headers":{"Retry-After":{"description":"Number of seconds to wait before making another request.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"paths":{"/memberEvents":{"get":{"tags":["memberEvents"],"summary":"List member events","description":"Returns activity events recorded for your members, ordered by id and paginated with an opaque cursor. Filter by member, event type, and date.","parameters":[{"$ref":"#/components/parameters/cursor-header"},{"$ref":"#/components/parameters/itemsAfter-header"},{"name":"memberId","in":"query","required":false,"schema":{"type":"integer"},"description":"Only return events for this member."},{"name":"eventType[]","in":"query","required":false,"explode":true,"schema":{"type":"array","items":{"type":"string","enum":["abandonedConversion","acceptedInvitation","accountCreated","cardUpdated","changedEmail","chargeCreated","dunningConversion","email","logIn","logOut","planAdded","planChanged","planDowngraded","planExpired","planRemoved","planSetToCancel","planUpgraded","resetPassword"]}},"description":"Only return events of these types. Repeat the parameter to filter by multiple types (e.g. `?eventType[]=planUpgraded&eventType[]=planAdded`)."},{"name":"createdAfter","in":"query","required":false,"schema":{"type":"string","format":"date-time"},"description":"Only return events on or after this ISO 8601 date-time (inclusive)."},{"name":"createdBefore","in":"query","required":false,"schema":{"type":"string","format":"date-time"},"description":"Only return events before this ISO 8601 date-time (exclusive)."}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberEvent"}}}},"headers":{"X-Has-More-Items-After":{"$ref":"#/components/headers/hasMoreItemsAfter"},"X-Next-Cursor":{"$ref":"#/components/headers/nextCursor"},"X-Total-Count":{"$ref":"#/components/headers/totalCount"}}},"400":{"$ref":"#/components/responses/400-InvalidRequest"},"401":{"$ref":"#/components/responses/401-AccessDenied"},"404":{"$ref":"#/components/responses/404-NotFound"},"429":{"$ref":"#/components/responses/429-RateLimited"}}}}}}
```
