resellerhq

List activity

GET
/v1/activity

Every change made inside your account: who did it, what they did, to what, when and from where. Newest first. Kept for 13 months and then removed. Readable with a dashboard session only: these records name your colleagues, so no API key reaches this route, whatever its level.

Authorization

apiKey
headerAuthorizationBearer <token>

An API key from the Developers page. rhq_test_ keys reach the sandbox, rhq_live_ keys the live side.

Query Parameters

limit?integer

How many to return

Range1 <= value <= 100
Default25
cursor?string

nextCursor from the previous page

actorId?string

A colleague's user id or an API key id

actorKind?string

Everything done by a person, by an API key, or by us — system is what the renewals and the billing runs that need nobody present are filed under, and they carry no actorId to ask for instead

Value in"user""api_key""system"
action?string
Value in"account.billing_update""account.domain_defaults_update""account.portal_update""api_key.create""api_key.revoke""api_key.update""auth.sign_in""auth.sign_in_failed""billing_run.commit""billing_run.create""billing_run.exclude""credit_note.create""credit_note.share""credit_note.unshare""customer.contract_rules_update""customer.create""customer.invite""customer.update""domain.auth_code""domain.delete""domain.dns_record_create""domain.dns_record_delete""domain.dns_record_update""domain.dns_records_replace""domain.dns_toggle""domain.host_create""domain.host_delete""domain.host_update""domain.register""domain.renew""domain.restore""domain.transfer_cancel""domain.transfer_start""domain.update""invoice.create""invoice.pay""invoice.share""invoice.unshare""invoice.void""licence.cancel""licence.order""licence.provisioning_failed""licence.renew""licence.update""licence.users_add""number.cancel""number.order""number.renew""number.update""price_list.create""price_list.delete""price_list.update""promotion.create""promotion.delete""promotion.update""sandbox.number_message""team.invite""team.invite_cancel""team.remove""team.role_change""wallet.sandbox_topup""wallet.topup_start""webhook.create""webhook.delete"
resource?string

Every action on this resource, such as every customer.* one

Value in"account""api_key""auth""billing_run""credit_note""customer""domain""invoice""licence""number""price_list""promotion""sandbox""team""wallet""webhook"
from?string

Only records at or after this moment

Formatdate-time
to?string

Only records before this moment

Formatdate-time
outcome?string
Value in"ok""denied""error"

Response Body

Success

application/json
  1. response

Success

data*array<>
nextCursor*|

Pass as cursor for the next page. null on the last page

total*integer

How many match across every page

Range0 <= value
curl -X GET "https://example.com/v1/activity?actorId=usr_01K6XJ4Q8ZT3M9R5V2B7WDHNCA&actorKind=system&resource=customer&from=2026-10-07T11%3A04%3A31.000Z&to=2026-11-01T00%3A00%3A00.000Z"
{  "data": [    {      "id": "act_01K6XJ4Q8ZT3M9R5V2B7WDHNCA",      "at": "2026-10-07T11:04:31.000Z",      "actor": {        "kind": "user",        "id": "usr_01K6XJ4Q8ZT3M9R5V2B7WDHNCA",        "label": "Jo Bloggs"      },      "action": "customer.create",      "target": {        "type": "customer",        "id": "cus_01K6XJ4Q8ZT3M9R5V2B7WDHNCA"      },      "ip": "203.0.113.42",      "userAgent": null,      "requestId": "req-4f",      "before": null,      "after": null,      "outcome": "ok",      "errorCode": null    }  ],  "nextCursor": null,  "total": 1}