Skip to main content
GET
/
api
/
external
/
v2
/
activity-logs
Get/Search activity logs
curl --request GET \
  --url https://subscription-admin.appstle.com/api/external/v2/activity-logs
import requests

url = "https://subscription-admin.appstle.com/api/external/v2/activity-logs"

response = requests.get(url)

print(response.text)
const options = {method: 'GET'};

fetch('https://subscription-admin.appstle.com/api/external/v2/activity-logs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
const url = 'https://subscription-admin.appstle.com/api/external/v2/activity-logs';
const options = {method: 'GET'};

fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://subscription-admin.appstle.com/api/external/v2/activity-logs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://subscription-admin.appstle.com/api/external/v2/activity-logs"

req, _ := http.NewRequest("GET", url, nil)

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
require 'uri'
require 'net/http'

url = URI("https://subscription-admin.appstle.com/api/external/v2/activity-logs")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
[
  {
    "activityBy": "customer@example.com",
    "additionalInfo": "{\"oldDate\":\"2024-03-01\",\"newDate\":\"2024-03-15\",\"reason\":\"Customer requested delay\"}",
    "clientIp": "192.168.1.100",
    "createAt": "2024-02-15T10:30:45Z",
    "entityId": 123456,
    "entityType": "SUBSCRIPTION_CONTRACT_DETAILS",
    "eventSource": "CUSTOMER_PORTAL",
    "eventType": "NEXT_BILLING_DATE_CHANGE",
    "id": 789012,
    "shop": "example-shop.myshopify.com",
    "status": "SUCCESS"
  },
  {
    "activityBy": "customer@example.com",
    "additionalInfo": "{\"variantId\":987654321,\"quantity\":2,\"productTitle\":\"Premium Coffee Beans\",\"price\":\"24.99\"}",
    "clientIp": "192.168.1.100",
    "createAt": "2024-02-15T11:15:22Z",
    "entityId": 123456,
    "entityType": "SUBSCRIPTION_CONTRACT_DETAILS",
    "eventSource": "CUSTOMER_PORTAL",
    "eventType": "PRODUCT_ADD",
    "id": 789013,
    "shop": "example-shop.myshopify.com",
    "status": "SUCCESS"
  },
  {
    "activityBy": null,
    "additionalInfo": "{\"amount\":\"49.99\",\"currency\":\"USD\",\"errorCode\":\"INSUFFICIENT_FUNDS\",\"errorMessage\":\"Card declined - insufficient funds\"}",
    "clientIp": null,
    "createAt": "2024-02-15T08:00:00Z",
    "entityId": 456789,
    "entityType": "SUBSCRIPTION_BILLING_ATTEMPT",
    "eventSource": "SYSTEM_EVENT",
    "eventType": "BILLING_ATTEMPT_TRIGGERED",
    "id": 789014,
    "shop": "example-shop.myshopify.com",
    "status": "FAILURE"
  },
  {
    "activityBy": "merchant-admin@example.com",
    "additionalInfo": "{\"pauseReason\":\"Customer on vacation\",\"pauseDuration\":30,\"resumeDate\":\"2024-03-15\"}",
    "clientIp": "203.0.113.45",
    "createAt": "2024-02-14T16:45:30Z",
    "entityId": 123456,
    "entityType": "SUBSCRIPTION_CONTRACT_DETAILS",
    "eventSource": "MERCHANT_PORTAL",
    "eventType": "CONTRACT_PAUSED",
    "id": 789015,
    "shop": "example-shop.myshopify.com",
    "status": "SUCCESS"
  },
  {
    "activityBy": "api-integration",
    "additionalInfo": "{\"oldVariantId\":111222333,\"newVariantId\":444555666,\"oldProductTitle\":\"Regular Coffee\",\"newProductTitle\":\"Premium Coffee\",\"priceChange\":5.00}",
    "clientIp": "198.51.100.25",
    "createAt": "2024-02-14T14:20:15Z",
    "entityId": 789123,
    "entityType": "PRODUCT_SWAP",
    "eventSource": "MERCHANT_EXTERNAL_API",
    "eventType": "PRODUCT_REPLACE",
    "id": 789016,
    "shop": "example-shop.myshopify.com",
    "status": "SUCCESS"
  }
]
{
"detail": "Invalid filter criteria: createAt date format must be ISO-8601",
"status": 400,
"title": "Invalid request parameters",
"type": "https://example.com/errors/bad-request"
}
{
"detail": "Valid api_key parameter is required to access activity logs",
"status": 401,
"title": "Authentication required",
"type": "https://example.com/errors/unauthorized"
}
{
"detail": "API key does not have permission to access activity logs",
"status": 403,
"title": "Insufficient permissions",
"type": "https://example.com/errors/forbidden"
}
{
"detail": "API rate limit exceeded. Please retry after 60 seconds.",
"retryAfter": 60,
"status": 429,
"title": "Rate limit exceeded",
"type": "https://example.com/errors/rate-limit"
}

Query Parameters

api_key
string
required

Your API Key

criteria
object
required

Activity Log Search Criteria

pageable
object
required

Pagination parameters (page number and size)

Response

Activity logs successfully retrieved. Returns paginated list of activity log entries.

activityBy
string
additionalInfo
string
clientIp
string
createAt
string<date-time>
entityId
integer<int64>
entityType
enum<string>
Available options:
SUBSCRIPTION_BILLING_ATTEMPT,
SUBSCRIPTION_CONTRACT_DETAILS,
SUBSCRIPTION_GROUP_PLAN,
SHIPPING_PROFILE,
CANCELLATION_MANAGEMENT,
DUNNING_MANAGEMENT,
PRODUCT_SWAP,
FREQUENCY_SWAP,
EMAIL_TEMPLATE,
SHOP_INFO,
SUBSCRIPTION_WIDGET_SETTINGS,
CUSTOMER_PORTAL_SETTINGS,
SUBSCRIPTION_BUNDLING,
BULK_AUTOMATION,
PARTNER_CONNECTION,
SEGMENT,
APP_INTEGRATION
eventSource
enum<string>
Available options:
CUSTOMER_PORTAL,
MERCHANT_PORTAL,
SHOPIFY_EVENT,
SYSTEM_EVENT,
MERCHANT_PORTAL_BULK_AUTOMATION,
SCHEDULED_BULK_AUTOMATION,
MERCHANT_EXTERNAL_API,
SHOPIFY_FLOW
eventType
enum<string>
Available options:
NEXT_BILLING_DATE_CHANGE,
NEXT_BILLING_TIME_CHANGE,
BILLING_INTERVAL_CHANGE,
DELIVERY_INTERVAL_CHANGE,
BILLING_ATTEMPT_TRIGGERED,
BILLING_ATTEMPT_SKIPPED,
IMMEDIATE_ORDER_RATE_LIMIT_BLOCKED,
PRICING_POLICY_ESCALATION_BLOCKED,
BILLING_AMOUNT_ESCALATION_BLOCKED,
PRODUCT_ADD,
PRODUCT_REMOVE,
PRODUCT_REPLACE,
PRODUCT_QUANTITY_CHANGE,
PRODUCT_PRICE_CHANGE,
PRODUCT_PRICING_POLICY_CHANGE,
PRODUCT_SELLING_PLAN_CHANGE,
PRODUCT_DELETED_SYNC,
CONTRACT_PAUSED,
CONTRACT_ACTIVATED,
CONTRACT_ACTIVATION_DEFERRED,
CONTRACT_CANCELLED,
DELIVERY_METHOD_UPDATED,
SYSTEM_UPDATED_DELIVERY_PRICE,
MANUAL_DELIVERY_PRICE_UPDATED,
DELIVERY_PRICE_OVERRIDE_CHANGED,
SHIPPING_ADDRESS_CHANGE,
SHIPPING_ADDRESS_CHANGE_SYNC,
SEND_SUBSCRIPTION_CREATED_EMAIL,
SEND_TRANSACTION_FAILED_EMAIL,
SEND_UPCOMING_ORDER_EMAIL,
SEND_EXPIRING_CREDIT_CARD_EMAIL,
SEND_SHIPPING_ADDRESS_UPDATED_EMAIL,
SEND_ORDER_FREQUENCY_UPDATED_EMAIL,
SEND_NEXT_ORDER_DATE_UPDATED_EMAIL,
SEND_SUBSCRIPTION_PAUSED_EMAIL,
SEND_SUBSCRIPTION_CANCELED_EMAIL,
SEND_SUBSCRIPTION_RESUMED_EMAIL,
SEND_SUBSCRIPTION_PRODUCT_ADDED_EMAIL,
SEND_SUBSCRIPTION_PRODUCT_REMOVED_EMAIL,
SEND_SUBSCRIPTION_PRODUCT_REPLACED_EMAIL,
SEND_ORDER_SKIPPED_EMAIL,
ONE_TIME_PURCHASE_PRODUCT_ADDED,
ONE_TIME_PURCHASE_PRODUCT_REMOVED,
ONE_TIME_PURCHASE_PRODUCT_UPDATE,
SEND_SECURITY_CHALLENGE_EMAIL,
DISCOUNT_APPLIED,
DISCOUNT_REMOVED,
DUNNING_CANCELLED,
DUNNING_SKIPPED,
DUNNING_PAUSED,
DUNNING_ATTEMPT_SKIPPED,
BILLING_ATTEMPT_NOTIFICATION,
SEND_SUBSCRIPTION_MANAGEMENT_LINK,
PRICE_CHANGE_SYNC,
UPDATE_QUEUED_ATTEMPTS,
EMPTY_ORDER_QUEUE_HEAL_TRIGGERED,
WEBHOOK,
SPLIT_CONTRACT,
SWITCH_PAYMENT_METHODS,
PAYMENT_METHOD_UPDATED,
SEND_OUT_OF_STOCK_EMAIL,
INFORMATIONAL_EVENT,
BULK_EMAIL,
CONTRACT_CREATED,
INITIAL_CONTRACT_INFO,
ANCHOR_DAY_REMOVED,
UPCOMING_ORDER_UPDATED,
SUBSCRIPTION_CONTRACT_UPDATED,
BILLING_ATTEMPT_UPDATED,
RESCHEDULE_FULFILLMENT,
FULFILLMENT_REFUNDED,
SWAP_AUTOMATION_TRIGGERED,
FREQUENCY_SWAP_AUTOMATION_TRIGGERED,
BAB_DISCOUNT_ADJUSTMENT,
BAB_PRODUCT_ADD,
BAB_PRODUCT_REMOVE,
BAB_QUANTITY_CHANGE,
STOP_UPCOMING_ORDER_EMAIL_UPDATED,
ORDER_TAGS_ADDED,
EMAIL,
SEND_TRANSACTION_SUCCESS_EMAIL,
TAGS_UPDATED,
SEND_PRODUCT_PRICE_UPDATED_EMAIL,
SUBSCRIPTION_GROUP_PLAN_UPDATE,
SUBSCRIPTION_GROUP_PLAN_CREATE,
SUBSCRIPTION_GROUP_PLAN_DELETE,
CREATED,
UPDATED,
SEND_SUSPENSION_EMAIL,
SEND_SUSPENSION_WARNING_EMAIL,
DELETED,
CURRENCY_MISMATCH_DETECTED,
PRICING_METHOD_APPLIED,
PRICING_POLICY_DISCOUNT_APPLIED,
PRICING_POLICY_SYNC_SKIPPED,
PRICING_POLICY_SYNC_FAILED,
PRICING_POLICY_NO_APPLICABLE_CYCLE,
PRICING_POLICY_REMOVED,
PRICING_POLICY_OVERRIDE,
AUTOMATIC_DISCOUNT_UPDATE,
BILLING_ATTEMPT_REFRESHED,
PRICE_CHANGE_SYNC_SKIPPED,
BASE_PRICE_CALCULATION,
LINE_DUTY_ADDED,
IMMEDIATE_RETRY_TRIGGERED,
PRICE_CHANGE_SYNC_BULK_AUTOMATION,
SCHEDULE_EXPIRING_CREDIT_CARD_EMAIL,
STARTED_BULK_AUTOMATION_PROCESSING,
SCHEDULED_BULK_AUTOMATION_SCHEDULED,
SCHEDULED_BULK_AUTOMATION_CANCELED,
SCHEDULED_BULK_AUTOMATION_DEFERRED,
SCHEDULED_BULK_AUTOMATION_STARTED,
SCHEDULED_BULK_AUTOMATION_COMPLETED,
SCHEDULED_BULK_AUTOMATION_FAILED,
DUPLICATE_BILLING_ATTEMPT_DETECTED,
AUTO_RESUME_SCHEDULED,
BILLING_CYCLE_PRODUCTS_SKIPPED,
ORDER_ATTRIBUTES_SYNCED,
DATE_ATTRIBUTE_MODIFIED_BEFORE_SYNC,
ORDER_DATE_SYNC_FAILED,
DELIVERY_DATE_SETTINGS_APPLIED,
ORPHANED_SELLING_PLAN_DETECTED,
BUNDLE_DISCOUNT_PERCENTAGE_ROUNDED,
PARTNER_CONNECTED,
PARTNER_DISCONNECTED,
PARTNER_CONNECTION_REQUESTED,
PARTNER_CONNECTION_APPROVED,
PARTNER_CONNECTION_REJECTED,
STORE_CREDIT_DISCOUNT_APPLIED,
UPDATE_STORE_CREDIT,
SKIP_PAYMENT_ENABLED,
PREPAID_DEFERRED_CANCELLATION_SCHEDULED,
PREPAID_DEFERRED_CANCELLATION_EXECUTED,
PREPAID_DEFERRED_CANCELLATION_CLEARED,
MIXED_PREPAID_SEPARATE_ORDERS_CONTRACT_DETECTED,
CURRENCY_ADJUSTMENT_RECOVERY,
PRICING_POLICY_SUPPRESSED_FOR_MIGRATED_CONTRACT,
PRICING_POLICY_SKIPPED_MIGRATED_BY_STRATEGY,
FEATURE_ACCESS_BLOCKED,
SEGMENT_CREATED,
SEGMENT_UPDATED,
SEGMENT_DELETED,
SEGMENT_REFRESHED
id
integer<int64>
shop
string
status
enum<string>
Available options:
SUCCESS,
FAILURE,
INFO,
SKIPPED,
PARTIAL_FAILURE