# List Subscriptions List all subscriptions for the authenticated merchant. Subscriptions link billable entities to rates with allocation configurations. Endpoint: GET /subscriptions Version: 1.0.0 Security: OAuth2 ## Query parameters: - `billable_entity_id` (string) Filter by billable entity ID - `status` (string) Filter by subscription status Enum: "ACTIVE", "PAUSED", "CANCELLED" - `page` (integer) Page number (1-indexed) Example: 1 - `page_size` (integer) Number of items per page Example: 50 ## Response 200 fields (application/json): - `results` (array, required) - `results.id` (string, required) - `results.entityId` (string, required) - `results.billableEntityId` (string, required) Reference to BillableEntity in Profile Service - `results.rateId` (string, required) - `results.allocationConfigId` (string, required) - `results.discountRateIds` (array) Discount rates to apply - `results.billingFrequency` (string, required) Billing frequency for subscriptions Enum: "DAILY", "WEEKLY", "BIWEEKLY", "MONTHLY" - `results.billingAnchorDay` (integer, required) Day of week (1-7) for WEEKLY/BIWEEKLY, day of month (1-31) for MONTHLY - `results.billingTimezone` (string, required) IANA timezone for billing calculations Example: "America/New_York" - `results.startDate` (string, required) - `results.endDate` (string,null) - `results.status` (string, required) Status of subscription Enum: "ACTIVE", "PAUSED", "CANCELLED" - `results.version` (integer, required) Business version number for change tracking (subscription configuration history) - `results.optimisticLockVersion` (integer) Optimistic locking version (managed by Hibernate @Version). Prevents concurrent update conflicts. - `results.createdAt` (string, required) - `results.updatedAt` (string) - `pagination` (object, required) - `pagination.totalRecords` (integer, required) Total number of records across all pages Example: 100 - `pagination.currentPage` (integer, required) Current page number (1-indexed) Example: 1 - `pagination.totalPages` (integer, required) Total number of pages Example: 10 - `pagination.nextPage` (integer,null) Next page number, null if on last page Example: 2 - `pagination.prevPage` (integer,null) Previous page number, null if on first page ## Response 401 fields (application/json): - `result` (object, required) - `result.status` (string, required) Response status (always ERROR for error responses) Enum: "ERROR" - `error` (object, required) - `error.responseCode` (string, required) Response code (numeric or contains numbers, e.g., "404", "409", "500", "ERR001") Example: "404" - `error.responseMessage` (array, required) Array of error message strings for multiple error details Example: ["Charge not found","The requested charge ID does not exist in the system"]