Activity and fields
Read the activity log of changes to your subscriptions, and the allowed values for intervals, statuses and other fields, with the Subrise API.
Subrise records every change to a subscription, who made it and when. These endpoints read that activity log and list the values that subscription and plan fields accept. They need a key with Read permission. See Developer API for the base URL and authentication.
List activity
GET /event-logsReturns activity for your store, newest first.
| Query parameter | Type | Description |
|---|---|---|
subscriptionId | string | Optional. Only this subscription's activity, by its numeric ID. |
page | integer | Optional. Page number, starting at 1. Send it with limit. |
limit | integer | Optional. Events per page. Send it with page. |
Warning
Without both page and limit, the endpoint returns every event for your store. Always send them, or filter by subscriptionId.
curl "https://backend-production.subrise.app/api/event-logs?subscriptionId=12704383255&page=1&limit=20" \
-H "x-api-key: $SUBRISE_API_KEY"{
"logs": [
{
"_id": "6712c4f1a9d3b2e0c4a1f001",
"subscriptionId": "12704383255",
"message": "Skipped Next Billing Date",
"eventType": "Update",
"userId": "ADMIN",
"details": {},
"timestamp": "2026-10-18T15:02:11.482Z",
"shop": "your-store.myshopify.com"
},
{
"_id": "6712c4f1a9d3b2e0c4a1f000",
"subscriptionId": "12704383255",
"message": "Updated Next Billing Date",
"eventType": "Update",
"userId": "CUSTOMER",
"details": { "newBillingDate": "2026-11-05T14:00:00Z" },
"timestamp": "2026-10-12T09:41:27.115Z",
"shop": "your-store.myshopify.com"
}
],
"total": 37
}| Field | Description |
|---|---|
message | What happened, in words. |
eventType | Create, Update, Delete or Email. |
userId | Who did it: ADMIN, CUSTOMER, SYSTEM or FLOW. Changes made with the API show as ADMIN. Actions taken from Gorgias or Sidekick also show as ADMIN, with details.via saying where they came from. |
details | Extra data for the event. Its contents depend on the event. |
total | The number of events that match, across all pages. |
The message text is written for people and can change. Don't build logic on it. To react to events as they happen, use webhooks.
Get field values
GET /fieldsReturns the values Subrise accepts for interval, anchor, pricing and status fields. Use it to fill dropdowns or validate input.
curl https://backend-production.subrise.app/api/fields \
-H "x-api-key: $SUBRISE_API_KEY"{
"billingInterval": ["DAY", "MONTH", "WEEK", "YEAR"],
"billingAnchorType": ["WEEKDAY", "MONTHDAY", "YEARDAY"],
"deliveryInterval": ["DAY", "MONTH", "WEEK", "YEAR"],
"intent": ["FULFILLMENT_BEGIN"],
"preAnchorBehavior": ["ASAP", "NEXT"],
"deliveryAnchorType": ["WEEKDAY", "MONTHDAY", "YEARDAY"],
"pricingPolicyType": ["fixed", "recurring"],
"adjustmentType": ["FIXED_AMOUNT", "PERCENTAGE", "PRICE"],
"currencyCode": [["AED", "United Arab Emirates Dirham (AED)"], ["AFN", "Afghan Afghani (AFN)"]],
"status": ["ACTIVE", "CANCELLED", "EXPIRED", "FAILED", "PAUSED"]
}currencyCode is a list of [code, label] pairs. The example shows two of them.