---
title: "List a resource's lifecycle events"
method: GET
path: "/v1/resources/{resourceId}/events"
tags: ["Resources"]
---

# List a resource's lifecycle events

`GET /v1/resources/{resourceId}/events`

Cursor-paginated lifecycle events for a resource, oldest first — the renew history IS these events.

## Path parameters

- `resourceId` string, required — Resource identifier (ULID).

## Query parameters

- `limit` integer — Max items per page (server-side cap applies).
- `cursor` string — Cursor returned by the previous page.
- `provider` 'apify' | 'pdl' | 'opoint' | 'tikhub' | 'exa' | 'minimax' | 'bytedance' | 'suzanne' | 'akta' | 'saperly' | 'apollo' | 'censusdata.xyz' | 'defillama' | 'sfs' | 'semrush' | 'elevenlabs' | 'octen' | 'mint' | 'context.dev' | 'surf' — Filter by provider slug (e.g. 'saperly').
- `resourceType` 'phone_number' | 'file_system' | 'asset_library' — Filter by resource type — requires `provider` (store SK prefix is ordered).
- `state` 'READY' | 'PROVISIONING' | 'ACTIVE' | 'EXPIRING' | 'SUSPENDED' | 'RELEASED' | 'PROVISION_FAILED' — Filter by lifecycle state.

## Response `200`

Lifecycle events page

- object
  - `items` ResourceEvent[], required
    - `eventId` string, required
    - `type` string, required
    - `cycle` number
    - `amount` object
      - `value` number, required
      - `currency` string, required
    - `reason` string
    - `at` string, date-time, required
  - `cursor` string — Opaque cursor for the next page; absent on the last page.

## Other responses

- `400` — Bad request — input failed validation
- `401` — Unauthorized — missing or invalid credentials
- `403` — Forbidden — caller has no workspace or no access
- `404` — Resource not found
- `500` — Internal server error

---

[API](https://skmtc.net/monid/apis/monid-api.md) · [All operations](https://skmtc.net/monid/apis/monid-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/monid/monid-api/versions/164b6b6f2d36/schema)
