openapi: 3.0.3 info: title: 'Slick API Documentation' description: '' version: 1.0.0 servers: - url: 'https://slick.dev.prm-lfmd.com' tags: - name: 'Admin Audit Log' description: '' - name: 'Admin Auth' description: '' - name: 'Admin Billing Models' description: '' - name: 'Admin Campaigns' description: '' - name: 'Admin Categories' description: '' - name: 'Admin Coupons' description: '' - name: 'Admin Gateways' description: '' - name: 'Admin Offer Reference' description: '' - name: 'Admin Offers' description: '' - name: 'Admin Order Reversal' description: '' - name: 'Admin Postback Credentials' description: '' - name: 'Admin Postback Deliveries' description: '' - name: 'Admin Postback Logs' description: '' - name: 'Admin Postback Profiles' description: '' - name: 'Admin Postback Triggers' description: '' - name: 'Admin Postback Types' description: '' - name: 'Admin Products' description: '' - name: 'Billing Models' description: '' - name: 'Billing Models v2' description: '' - name: Endpoints description: '' - name: Orders description: '' components: securitySchemes: default: type: http scheme: basic description: 'Machine endpoints authenticate using HTTP Basic Auth. Send base64-encoded username:password.' security: - default: [] paths: /api/admin/v1/audit-log: get: summary: 'List audit log entries.' operationId: listAuditLogEntries description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Audit Log' '/api/admin/v1/audit-log/{auditLogId}': get: summary: 'Display a specified audit log entry.' operationId: displayASpecifiedAuditLogEntry description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Audit Log' parameters: - in: path name: auditLogId description: '' example: architecto required: true schema: type: string /api/v1/auth/admin/google/redirect: get: summary: 'GET /api/v1/auth/admin/google/redirect' operationId: gETapiv1authadmingoogleredirect description: 'Create OAuth transaction record and return Google authorization URL.' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: authorization_url: 'https://accounts.google.com/o/oauth2/auth?client_id=123908846344-o0v7e9tsmt8r72ce57rbui4qibc30rpt.apps.googleusercontent.com&redirect_uri=https%3A%2F%2Fslick.dev.prm-lfmd.com%2Fapi%2Fv1%2Fauth%2Fadmin%2Fgoogle%2Fcallback&scope=openid+profile+email&response_type=code&state=LZ43GPq0ZQcxtFayr1hywLSloNtG6UsijEHNmi7c&nonce=eHvwZAe9VexH4SZlsHW18j4AfFC4M4gfWejqwS2S&hd=lifemd.com' properties: authorization_url: type: string example: 'https://accounts.google.com/o/oauth2/auth?client_id=123908846344-o0v7e9tsmt8r72ce57rbui4qibc30rpt.apps.googleusercontent.com&redirect_uri=https%3A%2F%2Fslick.dev.prm-lfmd.com%2Fapi%2Fv1%2Fauth%2Fadmin%2Fgoogle%2Fcallback&scope=openid+profile+email&response_type=code&state=LZ43GPq0ZQcxtFayr1hywLSloNtG6UsijEHNmi7c&nonce=eHvwZAe9VexH4SZlsHW18j4AfFC4M4gfWejqwS2S&hd=lifemd.com' tags: - 'Admin Auth' /api/v1/auth/admin/google/callback: get: summary: 'GET /api/v1/auth/admin/google/callback' operationId: gETapiv1authadmingooglecallback description: "Validate state, consume transaction, exchange code for identity,\nvalidate claims, bind google_subject, issue one-time login code via cookie." parameters: [] responses: 400: description: '' content: application/json: schema: type: object example: error: 'Missing state parameter' properties: error: type: string example: 'Missing state parameter' tags: - 'Admin Auth' /api/v1/auth/admin/google/exchange: post: summary: 'POST /api/v1/auth/admin/google/exchange' operationId: pOSTapiv1authadmingoogleexchange description: "Read login code from cookie, atomically consume it,\nre-check admin is_active, issue Sanctum token." parameters: [] responses: { } tags: - 'Admin Auth' /api/v1/auth/admin/me: get: summary: 'GET /api/v1/auth/admin/me' operationId: gETapiv1authadminme description: 'Return authenticated admin profile.' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Auth' /api/v1/auth/admin/logout: post: summary: 'POST /api/v1/auth/admin/logout' operationId: pOSTapiv1authadminlogout description: 'Revoke the current Sanctum token.' parameters: [] responses: { } tags: - 'Admin Auth' /api/admin/v1/billing-models: get: summary: 'Paginated list of billing models.' operationId: paginatedListOfBillingModels description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true message: 'Billing models retrieved successfully' data: - billing_model_id: 47 name: '1 Month' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:41+00:00' - billing_model_id: 14 name: '1 Month' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:27+00:00' - billing_model_id: 4 name: '1 Month Subscription (32 Day Cycle)' bill_by_type_id: 1 bill_by_type_label: 'Bill By Cycle' interval_day: 0 interval_week: 0 preserve_quantity: 1 bill_by_days: 32 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:22+00:00' - billing_model_id: 25 name: '12 Month Subscription' bill_by_type_id: 1 bill_by_type_label: 'Bill By Cycle' interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 365 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-11-25T23:45:17+00:00' updated_at: '2025-11-25T23:46:32+00:00' - billing_model_id: 54 name: '12 Months' bill_by_type_id: 0 bill_by_type_label: 'Straight Sale' interval_day: 1 interval_week: 1 preserve_quantity: 0 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-10-01T05:41:07+00:00' - billing_model_id: 28 name: '12 Months' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 12 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-11-25T23:45:18+00:00' updated_at: '2025-11-25T23:46:33+00:00' - billing_model_id: 24 name: '12 Months' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 12 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:31+00:00' - billing_model_id: 37 name: '12 months - ED BPG' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 12 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:37+00:00' - billing_model_id: 38 name: '2 Month Subscription - Discounted' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 2 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:37+00:00' - billing_model_id: 97 name: '2 Month Subscritpion (55 Day Cycle)' bill_by_type_id: 0 bill_by_type_label: 'Straight Sale' interval_day: 1 interval_week: 1 preserve_quantity: 0 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-10-01T05:41:07+00:00' - billing_model_id: 6 name: '2 Month Subscritpion (62 Day Cycle)' bill_by_type_id: 1 bill_by_type_label: 'Bill By Cycle' interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 62 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:23+00:00' - billing_model_id: 15 name: '2 Months' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 2 interval_week: 1 preserve_quantity: 1 bill_by_days: 15 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:27+00:00' - billing_model_id: 48 name: '3 Month - Cialis Daily' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-11-25T23:45:28+00:00' updated_at: '2025-11-25T23:46:41+00:00' - billing_model_id: 13 name: '3 Month Subscription (92 Day Cycle)' bill_by_type_id: 1 bill_by_type_label: 'Bill By Cycle' interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 92 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:26+00:00' - billing_model_id: 32 name: '3 Months' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:35+00:00' meta: current_page: 1 per_page: 15 total: 43 last_page: 3 from: 1 to: 15 links: first: 'http://localhost/api/admin/v1/billing-models?page=1' last: 'http://localhost/api/admin/v1/billing-models?page=3' prev: null next: 'http://localhost/api/admin/v1/billing-models?page=2' version: v1 properties: success: type: boolean example: true message: type: string example: 'Billing models retrieved successfully' data: type: array example: - billing_model_id: 47 name: '1 Month' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:41+00:00' - billing_model_id: 14 name: '1 Month' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:27+00:00' - billing_model_id: 4 name: '1 Month Subscription (32 Day Cycle)' bill_by_type_id: 1 bill_by_type_label: 'Bill By Cycle' interval_day: 0 interval_week: 0 preserve_quantity: 1 bill_by_days: 32 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:22+00:00' - billing_model_id: 25 name: '12 Month Subscription' bill_by_type_id: 1 bill_by_type_label: 'Bill By Cycle' interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 365 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-11-25T23:45:17+00:00' updated_at: '2025-11-25T23:46:32+00:00' - billing_model_id: 54 name: '12 Months' bill_by_type_id: 0 bill_by_type_label: 'Straight Sale' interval_day: 1 interval_week: 1 preserve_quantity: 0 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-10-01T05:41:07+00:00' - billing_model_id: 28 name: '12 Months' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 12 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-11-25T23:45:18+00:00' updated_at: '2025-11-25T23:46:33+00:00' - billing_model_id: 24 name: '12 Months' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 12 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:31+00:00' - billing_model_id: 37 name: '12 months - ED BPG' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 12 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:37+00:00' - billing_model_id: 38 name: '2 Month Subscription - Discounted' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 2 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:37+00:00' - billing_model_id: 97 name: '2 Month Subscritpion (55 Day Cycle)' bill_by_type_id: 0 bill_by_type_label: 'Straight Sale' interval_day: 1 interval_week: 1 preserve_quantity: 0 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-10-01T05:41:07+00:00' - billing_model_id: 6 name: '2 Month Subscritpion (62 Day Cycle)' bill_by_type_id: 1 bill_by_type_label: 'Bill By Cycle' interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 62 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:23+00:00' - billing_model_id: 15 name: '2 Months' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 2 interval_week: 1 preserve_quantity: 1 bill_by_days: 15 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:27+00:00' - billing_model_id: 48 name: '3 Month - Cialis Daily' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-11-25T23:45:28+00:00' updated_at: '2025-11-25T23:46:41+00:00' - billing_model_id: 13 name: '3 Month Subscription (92 Day Cycle)' bill_by_type_id: 1 bill_by_type_label: 'Bill By Cycle' interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 92 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:26+00:00' - billing_model_id: 32 name: '3 Months' bill_by_type_id: 5 bill_by_type_label: 'Bill By Relative Date' interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:35+00:00' items: type: object properties: billing_model_id: type: integer example: 47 name: type: string example: '1 Month' bill_by_type_id: type: integer example: 5 bill_by_type_label: type: string example: 'Bill By Relative Date' interval_day: type: integer example: 1 interval_week: type: integer example: 1 preserve_quantity: type: integer example: 1 bill_by_days: type: integer example: 0 expire_cycles: type: integer example: 0 buffer_days: type: integer example: 0 dates: type: array example: [] created_at: type: string example: '2025-10-01T05:41:07+00:00' updated_at: type: string example: '2025-11-25T23:46:41+00:00' meta: type: object properties: current_page: type: integer example: 1 per_page: type: integer example: 15 total: type: integer example: 43 last_page: type: integer example: 3 from: type: integer example: 1 to: type: integer example: 15 links: type: object properties: first: type: string example: 'http://localhost/api/admin/v1/billing-models?page=1' last: type: string example: 'http://localhost/api/admin/v1/billing-models?page=3' prev: type: string example: null nullable: true next: type: string example: 'http://localhost/api/admin/v1/billing-models?page=2' version: type: string example: v1 tags: - 'Admin Billing Models' post: summary: 'Store a new billing model.' operationId: storeANewBillingModel description: '' parameters: [] responses: { } tags: - 'Admin Billing Models' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Billing model name. Must not be greater than 100 characters.' example: '1 Month Subscription' bill_by_type_id: type: integer description: 'Billing type. 0=One-time, 1=By days, 2=By weeks, 3=By months, 4=By dates, 5=By calendar month.' example: 1 enum: - 0 - 1 - 2 - 3 - 4 - 5 interval_day: type: integer description: 'Day interval for billing. Must be at least 0. Must not be greater than 255.' example: 0 nullable: true interval_week: type: integer description: 'Week interval for billing. Must be at least 0. Must not be greater than 255.' example: 0 nullable: true preserve_quantity: type: integer description: 'Whether to preserve quantity on rebill. 0=No, 1=Yes.' example: 1 enum: - 0 - 1 nullable: true bill_by_days: type: integer description: 'Number of days in billing cycle. Must be at least 0.' example: 32 nullable: true expire_cycles: type: integer description: 'Number of cycles before expiry. 0=Never. Must be at least 0. Must not be greater than 255.' example: 0 nullable: true buffer_days: type: integer description: 'Buffer days before rebill. Must be at least 0. Must not be greater than 255.' example: 0 nullable: true dates: type: array description: 'Array of month/day pairs for date-based billing.' example: - month: 1 day: 15 items: type: object nullable: true properties: month: type: integer description: 'Month (1-12). This field is required when dates is present. Must be between 1 and 12.' example: 1 day: type: integer description: 'Day of month (1-31). This field is required when dates is present. Must be between 1 and 31.' example: 15 required: - name - bill_by_type_id '/api/admin/v1/billing-models/{id}': get: summary: 'Display a specific billing model.' operationId: displayASpecificBillingModel description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true message: 'Billing model retrieved successfully' data: billing_model_id: 2 name: 'One Time Purchase' bill_by_type_id: 0 bill_by_type_label: 'Straight Sale' interval_day: 0 interval_week: 0 preserve_quantity: 0 bill_by_days: 0 expire_cycles: 1 buffer_days: 0 dates: [] created_at: '2025-10-01T05:41:07+00:00' updated_at: '2025-11-25T23:46:22+00:00' version: v1 properties: success: type: boolean example: true message: type: string example: 'Billing model retrieved successfully' data: type: object properties: billing_model_id: type: integer example: 2 name: type: string example: 'One Time Purchase' bill_by_type_id: type: integer example: 0 bill_by_type_label: type: string example: 'Straight Sale' interval_day: type: integer example: 0 interval_week: type: integer example: 0 preserve_quantity: type: integer example: 0 bill_by_days: type: integer example: 0 expire_cycles: type: integer example: 1 buffer_days: type: integer example: 0 dates: type: array example: [] created_at: type: string example: '2025-10-01T05:41:07+00:00' updated_at: type: string example: '2025-11-25T23:46:22+00:00' version: type: string example: v1 tags: - 'Admin Billing Models' patch: summary: 'Update the specified billing model.' operationId: updateTheSpecifiedBillingModel description: '' parameters: [] responses: { } tags: - 'Admin Billing Models' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Billing model name. Must not be greater than 100 characters.' example: '1 Month Subscription' bill_by_type_id: type: integer description: 'Billing type. 0=One-time, 1=By days, 2=By weeks, 3=By months, 4=By dates, 5=By calendar month.' example: 1 enum: - 0 - 1 - 2 - 3 - 4 - 5 interval_day: type: integer description: 'Day interval for billing. Must be at least 0. Must not be greater than 255.' example: 0 nullable: true interval_week: type: integer description: 'Week interval for billing. Must be at least 0. Must not be greater than 255.' example: 0 nullable: true preserve_quantity: type: integer description: 'Whether to preserve quantity on rebill. 0=No, 1=Yes.' example: 1 enum: - 0 - 1 nullable: true bill_by_days: type: integer description: 'Number of days in billing cycle. Must be at least 0.' example: 32 nullable: true expire_cycles: type: integer description: 'Number of cycles before expiry. 0=Never. Must be at least 0. Must not be greater than 255.' example: 0 nullable: true buffer_days: type: integer description: 'Buffer days before rebill. Must be at least 0. Must not be greater than 255.' example: 0 nullable: true dates: type: array description: 'Array of month/day pairs for date-based billing.' example: - month: 1 day: 15 items: type: object nullable: true properties: month: type: integer description: 'Month (1-12). This field is required when dates is present. Must be between 1 and 12.' example: 1 day: type: integer description: 'Day of month (1-31). This field is required when dates is present. Must be between 1 and 31.' example: 15 delete: summary: 'Remove the specified billing model.' operationId: removeTheSpecifiedBillingModel description: '' parameters: [] responses: { } tags: - 'Admin Billing Models' parameters: - in: path name: id description: 'The ID of the billing model.' example: 2 required: true schema: type: integer /api/admin/v1/campaigns: get: summary: 'Paginated list of campaigns.' operationId: paginatedListOfCampaigns description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Campaigns' post: summary: 'Store a new campaign.' operationId: storeANewCampaign description: '' parameters: [] responses: { } tags: - 'Admin Campaigns' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 255 characters.' example: b description: type: string description: 'Must not be greater than 1000 characters.' example: 'Et animi quos velit et fugiat.' nullable: true default_channel: type: string description: 'Must not be greater than 100 characters.' example: d nullable: true channel_id: type: integer description: 'Must be at least 0.' example: 37 nullable: true payment_type: type: string description: 'Must not be greater than 50 characters.' example: j nullable: true enabled: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true max_grace_period: type: integer description: 'Must be at least 0.' example: 52 nullable: true pre_auth_amount: type: number description: 'Must be at least 0.' example: 8 nullable: true is_prepaid_blocked: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true is_custom_price_allowed: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true is_avs_enabled: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true is_collections_enabled: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true payment_router_id: type: integer description: 'Must be at least 0.' example: 75 nullable: true tax_provider_id: type: integer description: 'Must be at least 0.' example: 7 nullable: true data_verification_provider_id: type: integer description: 'Must be at least 0.' example: 87 nullable: true fulfillment_id: type: integer description: 'Must be at least 0.' example: 39 nullable: true check_provider_id: type: integer description: 'Must be at least 0.' example: 50 nullable: true membership_provider_id: type: integer description: 'Must be at least 0.' example: 62 nullable: true call_confirm_provider_id: type: integer description: 'Must be at least 0.' example: 54 nullable: true chargeback_provider_id: type: integer description: 'Must be at least 0.' example: 38 nullable: true prospect_provider_id: type: integer description: 'Must be at least 0.' example: 50 nullable: true email_provider_id: type: integer description: 'Must be at least 0.' example: 72 nullable: true offers: type: array description: '' example: null items: type: object nullable: true properties: offer_id: type: integer description: 'The offer_id of an existing record in the offer table.' example: 16 client_ref: type: string description: 'Must not be greater than 100 characters.' example: 'n' nullable: true is_default: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true is_active: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true sort_order: type: integer description: 'Must be at least 0.' example: 84 nullable: true override_name: type: string description: 'Must not be greater than 255 characters.' example: z nullable: true override_price: type: number description: 'Must be at least 0.' example: 77 nullable: true override_trial_enabled: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true override_trial_days: type: integer description: 'Must be at least 0.' example: 8 nullable: true override_trial_price: type: number description: 'Must be at least 0.' example: 76 nullable: true available_start_date: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' nullable: true available_end_date: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' nullable: true min_order_amount: type: number description: 'Must be at least 0.' example: 60 nullable: true max_order_amount: type: number description: 'Must be at least 0.' example: 42 nullable: true max_uses: type: integer description: 'Must be at least 0.' example: 37 nullable: true max_uses_per_customer: type: integer description: 'Must be at least 0.' example: 9 nullable: true conditions: type: object description: '' example: null properties: { } nullable: true billing_models: type: array description: '' example: null items: type: object nullable: true properties: billing_model_id: type: integer description: 'The billing_model_id of an existing record in the billing_model table.' example: 16 is_default: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true is_active: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true override_price: type: number description: 'Must be at least 0.' example: 39 nullable: true override_rebill_days: type: integer description: 'Must be at least 0.' example: 84 nullable: true sort_order: type: integer description: 'Must be at least 0.' example: 12 nullable: true required: - billing_model_id required: - offer_id gateways: type: array description: '' example: null items: type: object nullable: true properties: gateway_id: type: integer description: 'The gateway_id of an existing record in the gateway table.' example: 16 required: - gateway_id countries: type: array description: '' example: null items: type: object nullable: true properties: country_id: type: integer description: 'The id of an existing record in the country table.' example: 16 required: - country_id shipping: type: array description: '' example: null items: type: object nullable: true properties: shipping_id: type: integer description: 'The shipping_id of an existing record in the shipping table.' example: 16 weight: type: integer description: 'Must be at least 0.' example: 39 nullable: true required: - shipping_id coupons: type: array description: '' example: null items: type: object nullable: true properties: coupon_id: type: integer description: 'The coupon_id of an existing record in the coupon table.' example: 16 weight: type: integer description: 'Must be at least 0.' example: 39 nullable: true required: - coupon_id postbacks: type: array description: '' example: null items: type: object nullable: true properties: postback_profile_id: type: integer description: 'The postback_profile_id of an existing record in the postback_profile table.' example: 16 is_active: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true required: - postback_profile_id return_profiles: type: array description: '' example: null items: type: object nullable: true properties: return_profile_id: type: integer description: 'The return_profile_id of an existing record in the return_profile table.' example: 16 is_default: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true required: - return_profile_id alternative_payments: type: array description: '' example: null items: type: object nullable: true properties: alternative_payment_provider_id: type: integer description: 'The id of an existing record in the alternative_payment_provider table.' example: 16 is_active: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true required: - alternative_payment_provider_id fraud_providers: type: array description: '' example: null items: type: object nullable: true properties: fraud_provider_id: type: integer description: 'The fraud_provider_id of an existing record in the fraud_provider table.' example: 16 priority: type: integer description: 'Must be at least 0.' example: 39 nullable: true is_active: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true override_threshold: type: number description: 'Must be at least 0.' example: 84 nullable: true required: - fraud_provider_id required: - name '/api/admin/v1/campaigns/{campaignId}': get: summary: 'Display a specific campaign.' operationId: displayASpecificCampaign description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Campaigns' put: summary: 'Update the specified campaign.' operationId: updateTheSpecifiedCampaign description: '' parameters: [] responses: { } tags: - 'Admin Campaigns' requestBody: required: true content: application/json: schema: type: object properties: updated_at: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' name: type: string description: 'Must not be greater than 255 characters.' example: b description: type: string description: 'Must not be greater than 1000 characters.' example: 'Et animi quos velit et fugiat.' nullable: true default_channel: type: string description: 'Must not be greater than 100 characters.' example: d nullable: true channel_id: type: integer description: 'Must be at least 0.' example: 37 nullable: true payment_type: type: string description: 'Must not be greater than 50 characters.' example: j nullable: true enabled: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true max_grace_period: type: integer description: 'Must be at least 0.' example: 52 nullable: true pre_auth_amount: type: number description: 'Must be at least 0.' example: 8 nullable: true is_prepaid_blocked: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true is_custom_price_allowed: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true is_avs_enabled: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true is_collections_enabled: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true payment_router_id: type: integer description: 'Must be at least 0.' example: 75 nullable: true tax_provider_id: type: integer description: 'Must be at least 0.' example: 7 nullable: true data_verification_provider_id: type: integer description: 'Must be at least 0.' example: 87 nullable: true fulfillment_id: type: integer description: 'Must be at least 0.' example: 39 nullable: true check_provider_id: type: integer description: 'Must be at least 0.' example: 50 nullable: true membership_provider_id: type: integer description: 'Must be at least 0.' example: 62 nullable: true call_confirm_provider_id: type: integer description: 'Must be at least 0.' example: 54 nullable: true chargeback_provider_id: type: integer description: 'Must be at least 0.' example: 38 nullable: true prospect_provider_id: type: integer description: 'Must be at least 0.' example: 50 nullable: true email_provider_id: type: integer description: 'Must be at least 0.' example: 72 nullable: true offers: type: array description: '' example: null items: type: object nullable: true properties: offer_id: type: integer description: 'The offer_id of an existing record in the offer table.' example: 16 client_ref: type: string description: 'Must not be greater than 100 characters.' example: 'n' nullable: true is_default: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true is_active: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true sort_order: type: integer description: 'Must be at least 0.' example: 84 nullable: true override_name: type: string description: 'Must not be greater than 255 characters.' example: z nullable: true override_price: type: number description: 'Must be at least 0.' example: 77 nullable: true override_trial_enabled: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true override_trial_days: type: integer description: 'Must be at least 0.' example: 8 nullable: true override_trial_price: type: number description: 'Must be at least 0.' example: 76 nullable: true available_start_date: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' nullable: true available_end_date: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' nullable: true min_order_amount: type: number description: 'Must be at least 0.' example: 60 nullable: true max_order_amount: type: number description: 'Must be at least 0.' example: 42 nullable: true max_uses: type: integer description: 'Must be at least 0.' example: 37 nullable: true max_uses_per_customer: type: integer description: 'Must be at least 0.' example: 9 nullable: true conditions: type: object description: '' example: null properties: { } nullable: true billing_models: type: array description: '' example: null items: type: object nullable: true properties: billing_model_id: type: integer description: 'The billing_model_id of an existing record in the billing_model table.' example: 16 is_default: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true is_active: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true override_price: type: number description: 'Must be at least 0.' example: 39 nullable: true override_rebill_days: type: integer description: 'Must be at least 0.' example: 84 nullable: true sort_order: type: integer description: 'Must be at least 0.' example: 12 nullable: true required: - billing_model_id required: - offer_id gateways: type: array description: '' example: null items: type: object nullable: true properties: gateway_id: type: integer description: 'The gateway_id of an existing record in the gateway table.' example: 16 required: - gateway_id countries: type: array description: '' example: null items: type: object nullable: true properties: country_id: type: integer description: 'The id of an existing record in the country table.' example: 16 required: - country_id shipping: type: array description: '' example: null items: type: object nullable: true properties: shipping_id: type: integer description: 'The shipping_id of an existing record in the shipping table.' example: 16 weight: type: integer description: 'Must be at least 0.' example: 39 nullable: true required: - shipping_id coupons: type: array description: '' example: null items: type: object nullable: true properties: coupon_id: type: integer description: 'The coupon_id of an existing record in the coupon table.' example: 16 weight: type: integer description: 'Must be at least 0.' example: 39 nullable: true required: - coupon_id postbacks: type: array description: '' example: null items: type: object nullable: true properties: postback_profile_id: type: integer description: 'The postback_profile_id of an existing record in the postback_profile table.' example: 16 is_active: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true required: - postback_profile_id return_profiles: type: array description: '' example: null items: type: object nullable: true properties: return_profile_id: type: integer description: 'The return_profile_id of an existing record in the return_profile table.' example: 16 is_default: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true required: - return_profile_id alternative_payments: type: array description: '' example: null items: type: object nullable: true properties: alternative_payment_provider_id: type: integer description: 'The id of an existing record in the alternative_payment_provider table.' example: 16 is_active: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true required: - alternative_payment_provider_id fraud_providers: type: array description: '' example: null items: type: object nullable: true properties: fraud_provider_id: type: integer description: 'The fraud_provider_id of an existing record in the fraud_provider table.' example: 16 priority: type: integer description: 'Must be at least 0.' example: 39 nullable: true is_active: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true override_threshold: type: number description: 'Must be at least 0.' example: 84 nullable: true required: - fraud_provider_id required: - updated_at patch: summary: 'Update the specified campaign.' operationId: updateTheSpecifiedCampaign description: '' parameters: [] responses: { } tags: - 'Admin Campaigns' requestBody: required: true content: application/json: schema: type: object properties: updated_at: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' name: type: string description: 'Must not be greater than 255 characters.' example: b description: type: string description: 'Must not be greater than 1000 characters.' example: 'Et animi quos velit et fugiat.' nullable: true default_channel: type: string description: 'Must not be greater than 100 characters.' example: d nullable: true channel_id: type: integer description: 'Must be at least 0.' example: 37 nullable: true payment_type: type: string description: 'Must not be greater than 50 characters.' example: j nullable: true enabled: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true max_grace_period: type: integer description: 'Must be at least 0.' example: 52 nullable: true pre_auth_amount: type: number description: 'Must be at least 0.' example: 8 nullable: true is_prepaid_blocked: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true is_custom_price_allowed: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true is_avs_enabled: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true is_collections_enabled: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true payment_router_id: type: integer description: 'Must be at least 0.' example: 75 nullable: true tax_provider_id: type: integer description: 'Must be at least 0.' example: 7 nullable: true data_verification_provider_id: type: integer description: 'Must be at least 0.' example: 87 nullable: true fulfillment_id: type: integer description: 'Must be at least 0.' example: 39 nullable: true check_provider_id: type: integer description: 'Must be at least 0.' example: 50 nullable: true membership_provider_id: type: integer description: 'Must be at least 0.' example: 62 nullable: true call_confirm_provider_id: type: integer description: 'Must be at least 0.' example: 54 nullable: true chargeback_provider_id: type: integer description: 'Must be at least 0.' example: 38 nullable: true prospect_provider_id: type: integer description: 'Must be at least 0.' example: 50 nullable: true email_provider_id: type: integer description: 'Must be at least 0.' example: 72 nullable: true offers: type: array description: '' example: null items: type: object nullable: true properties: offer_id: type: integer description: 'The offer_id of an existing record in the offer table.' example: 16 client_ref: type: string description: 'Must not be greater than 100 characters.' example: 'n' nullable: true is_default: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true is_active: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true sort_order: type: integer description: 'Must be at least 0.' example: 84 nullable: true override_name: type: string description: 'Must not be greater than 255 characters.' example: z nullable: true override_price: type: number description: 'Must be at least 0.' example: 77 nullable: true override_trial_enabled: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true override_trial_days: type: integer description: 'Must be at least 0.' example: 8 nullable: true override_trial_price: type: number description: 'Must be at least 0.' example: 76 nullable: true available_start_date: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' nullable: true available_end_date: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' nullable: true min_order_amount: type: number description: 'Must be at least 0.' example: 60 nullable: true max_order_amount: type: number description: 'Must be at least 0.' example: 42 nullable: true max_uses: type: integer description: 'Must be at least 0.' example: 37 nullable: true max_uses_per_customer: type: integer description: 'Must be at least 0.' example: 9 nullable: true conditions: type: object description: '' example: null properties: { } nullable: true billing_models: type: array description: '' example: null items: type: object nullable: true properties: billing_model_id: type: integer description: 'The billing_model_id of an existing record in the billing_model table.' example: 16 is_default: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true is_active: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true override_price: type: number description: 'Must be at least 0.' example: 39 nullable: true override_rebill_days: type: integer description: 'Must be at least 0.' example: 84 nullable: true sort_order: type: integer description: 'Must be at least 0.' example: 12 nullable: true required: - billing_model_id required: - offer_id gateways: type: array description: '' example: null items: type: object nullable: true properties: gateway_id: type: integer description: 'The gateway_id of an existing record in the gateway table.' example: 16 required: - gateway_id countries: type: array description: '' example: null items: type: object nullable: true properties: country_id: type: integer description: 'The id of an existing record in the country table.' example: 16 required: - country_id shipping: type: array description: '' example: null items: type: object nullable: true properties: shipping_id: type: integer description: 'The shipping_id of an existing record in the shipping table.' example: 16 weight: type: integer description: 'Must be at least 0.' example: 39 nullable: true required: - shipping_id coupons: type: array description: '' example: null items: type: object nullable: true properties: coupon_id: type: integer description: 'The coupon_id of an existing record in the coupon table.' example: 16 weight: type: integer description: 'Must be at least 0.' example: 39 nullable: true required: - coupon_id postbacks: type: array description: '' example: null items: type: object nullable: true properties: postback_profile_id: type: integer description: 'The postback_profile_id of an existing record in the postback_profile table.' example: 16 is_active: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true required: - postback_profile_id return_profiles: type: array description: '' example: null items: type: object nullable: true properties: return_profile_id: type: integer description: 'The return_profile_id of an existing record in the return_profile table.' example: 16 is_default: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true required: - return_profile_id alternative_payments: type: array description: '' example: null items: type: object nullable: true properties: alternative_payment_provider_id: type: integer description: 'The id of an existing record in the alternative_payment_provider table.' example: 16 is_active: type: integer description: '' example: 1 enum: - 0 - 1 nullable: true required: - alternative_payment_provider_id fraud_providers: type: array description: '' example: null items: type: object nullable: true properties: fraud_provider_id: type: integer description: 'The fraud_provider_id of an existing record in the fraud_provider table.' example: 16 priority: type: integer description: 'Must be at least 0.' example: 39 nullable: true is_active: type: integer description: '' example: 0 enum: - 0 - 1 nullable: true override_threshold: type: number description: 'Must be at least 0.' example: 84 nullable: true required: - fraud_provider_id required: - updated_at parameters: - in: path name: campaignId description: '' example: '564' required: true schema: type: string '/api/admin/v1/campaigns/{campaignId}/archive': patch: summary: 'Archive the specified campaign.' operationId: archiveTheSpecifiedCampaign description: '' parameters: [] responses: { } tags: - 'Admin Campaigns' requestBody: required: true content: application/json: schema: type: object properties: updated_at: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' required: - updated_at parameters: - in: path name: campaignId description: '' example: '564' required: true schema: type: string '/api/admin/v1/campaigns/{campaignId}/unarchive': patch: summary: 'Unarchive the specified campaign.' operationId: unarchiveTheSpecifiedCampaign description: '' parameters: [] responses: { } tags: - 'Admin Campaigns' requestBody: required: true content: application/json: schema: type: object properties: updated_at: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' required: - updated_at parameters: - in: path name: campaignId description: '' example: '564' required: true schema: type: string /api/admin/v1/categories: get: summary: 'Display a paginated listing of categories.' operationId: displayAPaginatedListingOfCategories description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Categories' post: summary: 'Store a newly created category.' operationId: storeANewlyCreatedCategory description: '' parameters: [] responses: { } tags: - 'Admin Categories' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 50 characters.' example: b description: type: string description: '' example: 'Eius et animi quos velit et.' nullable: true required: - name '/api/admin/v1/categories/{id}': get: summary: 'Display the specified category.' operationId: displayTheSpecifiedCategory description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Categories' patch: summary: 'Update the specified category.' operationId: updateTheSpecifiedCategory description: '' parameters: [] responses: { } tags: - 'Admin Categories' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: '' example: null description: type: string description: '' example: 'Eius et animi quos velit et.' nullable: true delete: summary: 'Remove the specified category.' operationId: removeTheSpecifiedCategory description: '' parameters: [] responses: { } tags: - 'Admin Categories' parameters: - in: path name: id description: 'The ID of the category.' example: architecto required: true schema: type: string /api/admin/v1/coupon-profiles: get: summary: 'Paginated list of coupons.' operationId: paginatedListOfCoupons description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Coupons' post: summary: 'Store a newly created coupon.' operationId: storeANewlyCreatedCoupon description: '' parameters: [] responses: { } tags: - 'Admin Coupons' requestBody: required: true content: application/json: schema: type: object properties: type: type: string description: 'Coupon type.' example: product enum: - product - order_shipping name: type: string description: 'Profile name. Must not be greater than 191 characters.' example: 'Summer Sale 20% Off' description: type: string description: 'Profile description.' example: 'Summer promotional discount.' nullable: true discount_type: type: string description: 'Discount type.' example: percent enum: - percent - fixed discount_value: type: number description: 'Discount value. Percentage (0-100) or fixed dollar amount. Must be at least 0.' example: 20.0 applies_to: type: string description: 'What the discount applies to.' example: order_subtotal enum: - order_subtotal - shipping lifetime_discount: type: boolean description: 'Whether discount applies for the lifetime of the subscription.' example: false nullable: true min_quantity: type: integer description: 'Minimum quantity to qualify. Must be at least 1.' example: 1 nullable: true min_purchase_amount: type: number description: 'Minimum purchase amount to qualify. Must be at least 0.' example: 0.0 nullable: true max_quantity: type: integer description: 'Maximum quantity the coupon applies to. Must be at least 1.' example: null nullable: true expires_at: type: string description: 'Expiration date. Must be in the future. Must be a valid date. Must be a date after now.' example: '2026-12-31T23:59:59Z' nullable: true usage_limit_total: type: integer description: 'Total usage limit across all customers. Must be at least 1.' example: 1000 nullable: true usage_limit_per_customer: type: integer description: 'Usage limit per customer. Must be at least 1.' example: 1 nullable: true is_active: type: boolean description: 'Whether the profile is active.' example: true nullable: true products: type: array description: 'Eligible products for this coupon.' example: [] items: type: object nullable: true properties: product_id: type: integer description: 'Product ID. The product_id of an existing record in the product table.' example: 1 variant_id: type: integer description: 'Optional variant ID.' example: null nullable: true required: - product_id codes: type: array description: 'Promo codes to create.' example: [] items: type: object nullable: true properties: code: type: string description: 'Promo code string. Must not be greater than 64 characters.' example: SUMMER20 required: - code required: - type - name - discount_type - discount_value - applies_to '/api/admin/v1/coupon-profiles/{id}': get: summary: 'Display the specified coupon.' operationId: displayTheSpecifiedCoupon description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Coupons' patch: summary: 'Update the specified coupon.' operationId: updateTheSpecifiedCoupon description: '' parameters: [] responses: { } tags: - 'Admin Coupons' requestBody: required: true content: application/json: schema: type: object properties: updated_at: type: string description: 'Optimistic lock timestamp. Must match the current updated_at value. Must be a valid date.' example: '2025-12-01T00:00:00.000000Z' type: type: string description: 'Coupon type.' example: product enum: - product - order_shipping name: type: string description: 'Profile name. Must not be greater than 191 characters.' example: 'Summer Sale 20% Off' description: type: string description: 'Profile description.' example: 'Summer promotional discount.' nullable: true discount_type: type: string description: 'Discount type.' example: percent enum: - percent - fixed discount_value: type: number description: 'Discount value. Percentage (0-100) or fixed dollar amount. Must be at least 0.' example: 20.0 applies_to: type: string description: 'What the discount applies to.' example: order_subtotal enum: - order_subtotal - shipping lifetime_discount: type: boolean description: 'Whether discount applies for the lifetime of the subscription.' example: false nullable: true min_quantity: type: integer description: 'Minimum quantity to qualify. Must be at least 1.' example: 1 nullable: true min_purchase_amount: type: number description: 'Minimum purchase amount to qualify. Must be at least 0.' example: 0.0 nullable: true max_quantity: type: integer description: 'Maximum quantity the coupon applies to. Must be at least 1.' example: null nullable: true expires_at: type: string description: 'Expiration date. Must be a valid date.' example: '2026-12-31T23:59:59Z' nullable: true usage_limit_total: type: integer description: 'Total usage limit across all customers. Must be at least 1.' example: 1000 nullable: true usage_limit_per_customer: type: integer description: 'Usage limit per customer. Must be at least 1.' example: 1 nullable: true is_active: type: boolean description: 'Whether the profile is active.' example: true nullable: true required: - updated_at delete: summary: 'Remove the specified coupon.' operationId: removeTheSpecifiedCoupon description: '' parameters: [] responses: { } tags: - 'Admin Coupons' parameters: - in: path name: id description: 'The ID of the coupon profile.' example: '564' required: true schema: type: string '/api/admin/v1/coupon-profiles/{id}/products': post: summary: 'Add a product to a selected coupon' operationId: addAProductToASelectedCoupon description: '' parameters: [] responses: { } tags: - 'Admin Coupons' requestBody: required: true content: application/json: schema: type: object properties: product_id: type: integer description: 'The product_id of an existing record in the product table.' example: 16 variant_id: type: integer description: '' example: 16 nullable: true required: - product_id parameters: - in: path name: id description: 'The ID of the coupon profile.' example: '564' required: true schema: type: string '/api/admin/v1/coupon-profiles/{id}/products/{productId}': delete: summary: 'Remove a product from a selected coupon' operationId: removeAProductFromASelectedCoupon description: '' parameters: [] responses: { } tags: - 'Admin Coupons' parameters: - in: path name: id description: 'The ID of the coupon profile.' example: '564' required: true schema: type: string - in: path name: productId description: '' example: '564' required: true schema: type: string '/api/admin/v1/coupon-profiles/{id}/codes': post: summary: 'Add a coupon code' operationId: addACouponCode description: '' parameters: [] responses: { } tags: - 'Admin Coupons' requestBody: required: true content: application/json: schema: type: object properties: code: type: string description: 'Must not be greater than 64 characters.' example: b required: - code parameters: - in: path name: id description: 'The ID of the coupon profile.' example: '564' required: true schema: type: string '/api/admin/v1/coupon-codes/{codeId}': patch: summary: 'Update a coupon code' operationId: updateACouponCode description: '' parameters: [] responses: { } tags: - 'Admin Coupons' requestBody: required: false content: application/json: schema: type: object properties: is_active: type: boolean description: '' example: false code: type: string description: 'Must not be greater than 64 characters.' example: b delete: summary: 'Remove a coupon code' operationId: removeACouponCode description: '' parameters: [] responses: { } tags: - 'Admin Coupons' parameters: - in: path name: codeId description: '' example: '564' required: true schema: type: string /api/admin/v1/gateways: get: summary: 'Paginated list of gateways.' operationId: paginatedListOfGateways description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Gateways' '/api/admin/v1/gateways/{id}': get: summary: 'Display a specific gateway.' operationId: displayASpecificGateway description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Gateways' patch: summary: 'Update the cap on a specific gateway.' operationId: updateTheCapOnASpecificGateway description: '' parameters: [] responses: { } tags: - 'Admin Gateways' requestBody: required: false content: application/json: schema: type: object properties: monthly_cap_amount: type: number description: 'Must be at least 0. Must not be greater than 9999999999.99.' example: 1 nullable: true parameters: - in: path name: id description: 'The ID of the gateway.' example: '564' required: true schema: type: string /api/admin/v1/offers/reference/offer-types: get: summary: '' operationId: getApiAdminV1OffersReferenceOfferTypes description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Offer Reference' /api/admin/v1/offers/reference/cycle-types: get: summary: '' operationId: getApiAdminV1OffersReferenceCycleTypes description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Offer Reference' /api/admin/v1/offers/reference/terminating-cycle-types: get: summary: '' operationId: getApiAdminV1OffersReferenceTerminatingCycleTypes description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Offer Reference' /api/admin/v1/offers: get: summary: 'Display a paginated listing of offers.' operationId: displayAPaginatedListingOfOffers description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Offers' post: summary: 'Store a newly created offer.' operationId: storeANewlyCreatedOffer description: '' parameters: [] responses: { } tags: - 'Admin Offers' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Offer name. Must not be greater than 250 characters.' example: 'Monthly Weight Loss Plan' type_id: type: integer description: 'Offer type ID. The type_id of an existing record in the offer_type table.' example: 1 cycle_type_id: type: integer description: 'Cycle type ID. The cycle_type_id of an existing record in the offer_cycle_type table.' example: 1 nullable: true expire_cycles: type: integer description: 'Number of cycles before expiry. 0=Never. Must be at least 0.' example: 0 nullable: true cycle_count: type: integer description: 'Total cycle count. Must be at least 0.' example: 0 nullable: true expiration: type: integer description: '0=No expiration, 1=Expires.' example: 0 enum: - 0 - 1 nullable: true terminating_cycle_type: type: integer description: 'Terminating cycle type.' example: null nullable: true terminating_cycle_type_id: type: integer description: 'Terminating cycle type ID. The id of an existing record in the offer_terminating_cycle_type table.' example: null nullable: true terminating_product_id: type: integer description: 'Product ID used on terminating cycle. The product_id of an existing record in the product table.' example: null nullable: true recurring_product_id: type: integer description: 'Recurring product ID.' example: null nullable: true recurring_product_name: type: string description: 'Recurring product display name. Must not be greater than 150 characters.' example: null nullable: true is_trial: type: integer description: '0=Not trial, 1=Trial offer.' example: 0 enum: - 0 - 1 nullable: true inherit_product_price: type: integer description: '0=Custom price, 1=Use product price.' example: 1 enum: - 0 - 1 nullable: true trial_price: type: number description: 'Trial price override. Must be at least 0.' example: 0.0 nullable: true inherit_billing_model: type: integer description: '0=Custom billing, 1=Inherit billing model.' example: 1 enum: - 0 - 1 nullable: true custom_days: type: integer description: 'Custom cycle days. Must be at least 0.' example: 0 nullable: true delay_days: type: integer description: 'Delay days before first rebill. Must be at least 0.' example: 0 nullable: true delay_inherit_product_price: type: integer description: 'Inherit product price during delay.' example: 0 enum: - 0 - 1 nullable: true delay_custom_price: type: number description: 'Custom price during delay. Must be at least 0.' example: 0.0 nullable: true delay_email_suppressed: type: integer description: 'Suppress emails during delay.' example: 0 enum: - 0 - 1 nullable: true status: type: integer description: 'Offer status.' example: 1 nullable: true is_seasonal: type: integer description: 'Whether offer is seasonal.' example: 0 enum: - 0 - 1 nullable: true is_immutable: type: integer description: 'Whether offer is immutable.' example: 0 enum: - 0 - 1 nullable: true is_store: type: integer description: 'Whether offer is available in store.' example: 0 enum: - 0 - 1 nullable: true is_available_on_syncable: type: integer description: 'Whether offer is syncable.' example: 0 enum: - 0 - 1 nullable: true is_archived: type: integer description: 'Whether offer is archived.' example: 0 enum: - 0 - 1 nullable: true is_prepaid: type: integer description: 'Whether offer is prepaid.' example: 0 enum: - 0 - 1 nullable: true is_series: type: integer description: 'Whether offer is a series.' example: 0 enum: - 0 - 1 nullable: true terminating_product_name: type: string description: 'Terminating product display name. Must not be greater than 255 characters.' example: null nullable: true offer_options: type: array description: 'Billing model option overrides.' example: [] items: type: object nullable: true properties: billing_model_id: type: integer description: 'Billing model ID. The billing_model_id of an existing record in the billing_model table.' example: 4 discount_percent: type: integer description: 'Discount percentage (0-100). Must be between 0 and 100.' example: 10 nullable: true discount_flat_amount: type: number description: 'Flat discount amount. Must be at least 0.' example: 0.0 nullable: true weight: type: integer description: 'Sort weight. Must be at least 0.' example: 0 nullable: true required: - billing_model_id offer_products: type: array description: 'Products included in the offer.' example: [] items: type: object nullable: true properties: product_id: type: integer description: 'Product ID. The product_id of an existing record in the product table.' example: 1 weight: type: integer description: 'Sort weight. Must be at least 0.' example: 0 nullable: true is_trial_allowed: type: integer description: 'Whether trial is allowed. 0=No, 1=Yes.' example: 0 enum: - 0 - 1 nullable: true required: - product_id offer_cycle_products: type: array description: 'Cycle-specific product overrides.' example: [] items: type: object nullable: true properties: cycle_depth: type: integer description: 'Cycle depth (starting at 1). Must be at least 1.' example: 1 product_id: type: integer description: 'Product ID for this cycle. The product_id of an existing record in the product table.' example: 1 price: type: number description: 'Price for this cycle. Must be at least 0.' example: 29.99 qty: type: integer description: 'Quantity for this cycle. Must be at least 1.' example: 1 name: type: string description: 'Display name override. Must not be greater than 255 characters.' example: null nullable: true sku: type: string description: 'SKU override. Must not be greater than 100 characters.' example: null nullable: true start_at_month: type: integer description: 'Start month (1-12). Must be between 1 and 12.' example: null nullable: true start_at_day: type: integer description: 'Start day (1-31). Must be between 1 and 31.' example: null nullable: true required: - cycle_depth - product_id - price - qty required: - name - type_id '/api/admin/v1/offers/{offerId}': get: summary: 'Display the specified offer.' operationId: displayTheSpecifiedOffer description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Offers' put: summary: 'Update the specified offer.' operationId: updateTheSpecifiedOffer description: '' parameters: [] responses: { } tags: - 'Admin Offers' requestBody: required: true content: application/json: schema: type: object properties: updated_at: type: string description: 'Optimistic lock timestamp. Must match the current updated_at value. Must be a valid date.' example: '2025-12-01T00:00:00.000000Z' name: type: string description: 'Offer name. Must not be greater than 250 characters.' example: 'Monthly Weight Loss Plan' type_id: type: integer description: 'Offer type ID. The type_id of an existing record in the offer_type table.' example: 1 cycle_type_id: type: integer description: 'Cycle type ID. The cycle_type_id of an existing record in the offer_cycle_type table.' example: 1 nullable: true expire_cycles: type: integer description: 'Number of cycles before expiry. 0=Never. Must be at least 0.' example: 0 nullable: true cycle_count: type: integer description: 'Total cycle count. Must be at least 0.' example: 0 nullable: true expiration: type: integer description: '0=No expiration, 1=Expires.' example: 0 enum: - 0 - 1 nullable: true terminating_cycle_type: type: integer description: 'Terminating cycle type.' example: null nullable: true terminating_cycle_type_id: type: integer description: 'Terminating cycle type ID. The id of an existing record in the offer_terminating_cycle_type table.' example: null nullable: true terminating_product_id: type: integer description: 'Product ID used on terminating cycle. The product_id of an existing record in the product table.' example: null nullable: true recurring_product_id: type: integer description: 'Recurring product ID.' example: null nullable: true recurring_product_name: type: string description: 'Recurring product display name. Must not be greater than 150 characters.' example: null nullable: true is_trial: type: integer description: '0=Not trial, 1=Trial offer.' example: 0 enum: - 0 - 1 nullable: true inherit_product_price: type: integer description: '0=Custom price, 1=Use product price.' example: 1 enum: - 0 - 1 nullable: true trial_price: type: number description: 'Trial price override. Must be at least 0.' example: 0.0 nullable: true inherit_billing_model: type: integer description: '0=Custom billing, 1=Inherit billing model.' example: 1 enum: - 0 - 1 nullable: true custom_days: type: integer description: 'Custom cycle days. Must be at least 0.' example: 0 nullable: true delay_days: type: integer description: 'Delay days before first rebill. Must be at least 0.' example: 0 nullable: true delay_inherit_product_price: type: integer description: 'Inherit product price during delay.' example: 0 enum: - 0 - 1 nullable: true delay_custom_price: type: number description: 'Custom price during delay. Must be at least 0.' example: 0.0 nullable: true delay_email_suppressed: type: integer description: 'Suppress emails during delay.' example: 0 enum: - 0 - 1 nullable: true status: type: integer description: 'Offer status.' example: 1 nullable: true is_seasonal: type: integer description: 'Whether offer is seasonal.' example: 0 enum: - 0 - 1 nullable: true is_immutable: type: integer description: 'Whether offer is immutable.' example: 0 enum: - 0 - 1 nullable: true is_store: type: integer description: 'Whether offer is available in store.' example: 0 enum: - 0 - 1 nullable: true is_available_on_syncable: type: integer description: 'Whether offer is syncable.' example: 0 enum: - 0 - 1 nullable: true is_archived: type: integer description: 'Whether offer is archived.' example: 0 enum: - 0 - 1 nullable: true is_prepaid: type: integer description: 'Whether offer is prepaid.' example: 0 enum: - 0 - 1 nullable: true is_series: type: integer description: 'Whether offer is a series.' example: 0 enum: - 0 - 1 nullable: true terminating_product_name: type: string description: 'Terminating product display name. Must not be greater than 255 characters.' example: null nullable: true offer_options: type: array description: 'Billing model option overrides.' example: [] items: type: object nullable: true properties: billing_model_id: type: integer description: 'Billing model ID. The billing_model_id of an existing record in the billing_model table.' example: 4 discount_percent: type: integer description: 'Discount percentage (0-100). Must be between 0 and 100.' example: 10 nullable: true discount_flat_amount: type: number description: 'Flat discount amount. Must be at least 0.' example: 0.0 nullable: true weight: type: integer description: 'Sort weight. Must be at least 0.' example: 0 nullable: true required: - billing_model_id offer_products: type: array description: 'Products included in the offer.' example: [] items: type: object nullable: true properties: product_id: type: integer description: 'Product ID. The product_id of an existing record in the product table.' example: 1 weight: type: integer description: 'Sort weight. Must be at least 0.' example: 0 nullable: true is_trial_allowed: type: integer description: 'Whether trial is allowed. 0=No, 1=Yes.' example: 0 enum: - 0 - 1 nullable: true required: - product_id offer_cycle_products: type: array description: 'Cycle-specific product overrides.' example: [] items: type: object nullable: true properties: cycle_depth: type: integer description: 'Cycle depth (starting at 1). Must be at least 1.' example: 1 product_id: type: integer description: 'Product ID for this cycle. The product_id of an existing record in the product table.' example: 1 price: type: number description: 'Price for this cycle. Must be at least 0.' example: 29.99 qty: type: integer description: 'Quantity for this cycle. Must be at least 1.' example: 1 name: type: string description: 'Display name override. Must not be greater than 255 characters.' example: null nullable: true sku: type: string description: 'SKU override. Must not be greater than 100 characters.' example: null nullable: true start_at_month: type: integer description: 'Start month (1-12). Must be between 1 and 12.' example: null nullable: true start_at_day: type: integer description: 'Start day (1-31). Must be between 1 and 31.' example: null nullable: true required: - cycle_depth - product_id - price - qty required: - updated_at patch: summary: 'Update the specified offer.' operationId: updateTheSpecifiedOffer description: '' parameters: [] responses: { } tags: - 'Admin Offers' requestBody: required: true content: application/json: schema: type: object properties: updated_at: type: string description: 'Optimistic lock timestamp. Must match the current updated_at value. Must be a valid date.' example: '2025-12-01T00:00:00.000000Z' name: type: string description: 'Offer name. Must not be greater than 250 characters.' example: 'Monthly Weight Loss Plan' type_id: type: integer description: 'Offer type ID. The type_id of an existing record in the offer_type table.' example: 1 cycle_type_id: type: integer description: 'Cycle type ID. The cycle_type_id of an existing record in the offer_cycle_type table.' example: 1 nullable: true expire_cycles: type: integer description: 'Number of cycles before expiry. 0=Never. Must be at least 0.' example: 0 nullable: true cycle_count: type: integer description: 'Total cycle count. Must be at least 0.' example: 0 nullable: true expiration: type: integer description: '0=No expiration, 1=Expires.' example: 0 enum: - 0 - 1 nullable: true terminating_cycle_type: type: integer description: 'Terminating cycle type.' example: null nullable: true terminating_cycle_type_id: type: integer description: 'Terminating cycle type ID. The id of an existing record in the offer_terminating_cycle_type table.' example: null nullable: true terminating_product_id: type: integer description: 'Product ID used on terminating cycle. The product_id of an existing record in the product table.' example: null nullable: true recurring_product_id: type: integer description: 'Recurring product ID.' example: null nullable: true recurring_product_name: type: string description: 'Recurring product display name. Must not be greater than 150 characters.' example: null nullable: true is_trial: type: integer description: '0=Not trial, 1=Trial offer.' example: 0 enum: - 0 - 1 nullable: true inherit_product_price: type: integer description: '0=Custom price, 1=Use product price.' example: 1 enum: - 0 - 1 nullable: true trial_price: type: number description: 'Trial price override. Must be at least 0.' example: 0.0 nullable: true inherit_billing_model: type: integer description: '0=Custom billing, 1=Inherit billing model.' example: 1 enum: - 0 - 1 nullable: true custom_days: type: integer description: 'Custom cycle days. Must be at least 0.' example: 0 nullable: true delay_days: type: integer description: 'Delay days before first rebill. Must be at least 0.' example: 0 nullable: true delay_inherit_product_price: type: integer description: 'Inherit product price during delay.' example: 0 enum: - 0 - 1 nullable: true delay_custom_price: type: number description: 'Custom price during delay. Must be at least 0.' example: 0.0 nullable: true delay_email_suppressed: type: integer description: 'Suppress emails during delay.' example: 0 enum: - 0 - 1 nullable: true status: type: integer description: 'Offer status.' example: 1 nullable: true is_seasonal: type: integer description: 'Whether offer is seasonal.' example: 0 enum: - 0 - 1 nullable: true is_immutable: type: integer description: 'Whether offer is immutable.' example: 0 enum: - 0 - 1 nullable: true is_store: type: integer description: 'Whether offer is available in store.' example: 0 enum: - 0 - 1 nullable: true is_available_on_syncable: type: integer description: 'Whether offer is syncable.' example: 0 enum: - 0 - 1 nullable: true is_archived: type: integer description: 'Whether offer is archived.' example: 0 enum: - 0 - 1 nullable: true is_prepaid: type: integer description: 'Whether offer is prepaid.' example: 0 enum: - 0 - 1 nullable: true is_series: type: integer description: 'Whether offer is a series.' example: 0 enum: - 0 - 1 nullable: true terminating_product_name: type: string description: 'Terminating product display name. Must not be greater than 255 characters.' example: null nullable: true offer_options: type: array description: 'Billing model option overrides.' example: [] items: type: object nullable: true properties: billing_model_id: type: integer description: 'Billing model ID. The billing_model_id of an existing record in the billing_model table.' example: 4 discount_percent: type: integer description: 'Discount percentage (0-100). Must be between 0 and 100.' example: 10 nullable: true discount_flat_amount: type: number description: 'Flat discount amount. Must be at least 0.' example: 0.0 nullable: true weight: type: integer description: 'Sort weight. Must be at least 0.' example: 0 nullable: true required: - billing_model_id offer_products: type: array description: 'Products included in the offer.' example: [] items: type: object nullable: true properties: product_id: type: integer description: 'Product ID. The product_id of an existing record in the product table.' example: 1 weight: type: integer description: 'Sort weight. Must be at least 0.' example: 0 nullable: true is_trial_allowed: type: integer description: 'Whether trial is allowed. 0=No, 1=Yes.' example: 0 enum: - 0 - 1 nullable: true required: - product_id offer_cycle_products: type: array description: 'Cycle-specific product overrides.' example: [] items: type: object nullable: true properties: cycle_depth: type: integer description: 'Cycle depth (starting at 1). Must be at least 1.' example: 1 product_id: type: integer description: 'Product ID for this cycle. The product_id of an existing record in the product table.' example: 1 price: type: number description: 'Price for this cycle. Must be at least 0.' example: 29.99 qty: type: integer description: 'Quantity for this cycle. Must be at least 1.' example: 1 name: type: string description: 'Display name override. Must not be greater than 255 characters.' example: null nullable: true sku: type: string description: 'SKU override. Must not be greater than 100 characters.' example: null nullable: true start_at_month: type: integer description: 'Start month (1-12). Must be between 1 and 12.' example: null nullable: true start_at_day: type: integer description: 'Start day (1-31). Must be between 1 and 31.' example: null nullable: true required: - cycle_depth - product_id - price - qty required: - updated_at parameters: - in: path name: offerId description: '' example: '564' required: true schema: type: string '/api/admin/v1/offers/{offerId}/archive': patch: summary: 'Archive specified offer.' operationId: archiveSpecifiedOffer description: '' parameters: [] responses: { } tags: - 'Admin Offers' requestBody: required: true content: application/json: schema: type: object properties: updated_at: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' required: - updated_at parameters: - in: path name: offerId description: '' example: '564' required: true schema: type: string '/api/admin/v1/offers/{offerId}/unarchive': patch: summary: 'Unarchive the specified offer.' operationId: unarchiveTheSpecifiedOffer description: '' parameters: [] responses: { } tags: - 'Admin Offers' requestBody: required: true content: application/json: schema: type: object properties: updated_at: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' required: - updated_at parameters: - in: path name: offerId description: '' example: '564' required: true schema: type: string '/api/admin/v1/orders/{orderId}/reversals': post: summary: '' operationId: postApiAdminV1OrdersOrderIdReversals description: '' parameters: [] responses: { } tags: - 'Admin Order Reversal' requestBody: required: true content: application/json: schema: type: object properties: billing_attempt_id: type: integer description: 'The id of an existing record in the billing_attempt table.' example: 16 action: type: string description: '' example: void enum: - void - refund amount: type: number description: '' example: 4326.41688 idempotency_key: type: string description: 'Must match the regex /^[a-zA-Z0-9\-_:.]+$/. Must be at least 8 characters. Must not be greater than 128 characters.' example: m reason: type: string description: 'Must not be greater than 500 characters.' example: i nullable: true required: - billing_attempt_id - action - amount - idempotency_key parameters: - in: path name: orderId description: '' example: 32008 required: true schema: type: integer /api/admin/v1/postback-credentials: get: summary: 'Paginated list of postback credentials.' operationId: paginatedListOfPostbackCredentials description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Postback Credentials' post: summary: 'Store a new postback credential.' operationId: storeANewPostbackCredential description: '' parameters: [] responses: { } tags: - 'Admin Postback Credentials' requestBody: required: true content: application/json: schema: type: object properties: postback_profile_id: type: integer description: 'The id of an existing record in the postback_profile table.' example: 16 auth_username: type: string description: 'Must not be greater than 255 characters.' example: 'n' nullable: true auth_password: type: string description: 'Must not be greater than 255 characters.' example: g nullable: true bearer_token: type: string description: '' example: architecto nullable: true api_key_name: type: string description: 'Must not be greater than 100 characters.' example: 'n' nullable: true api_key_value: type: string description: '' example: architecto nullable: true required: - postback_profile_id '/api/admin/v1/postback-credentials/{id}': get: summary: 'Display a specific postback credential.' operationId: displayASpecificPostbackCredential description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Postback Credentials' delete: summary: 'Remove the specified postback credential.' operationId: removeTheSpecifiedPostbackCredential description: '' parameters: [] responses: { } tags: - 'Admin Postback Credentials' parameters: - in: path name: id description: 'The ID of the postback credential.' example: architecto required: true schema: type: string /api/admin/v1/postback-deliveries: get: summary: 'Paginated list of postback deliveries.' operationId: paginatedListOfPostbackDeliveries description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Postback Deliveries' post: summary: 'Store a new postback delivery (Manual injection).' operationId: storeANewPostbackDeliveryManualInjection description: '' parameters: [] responses: { } tags: - 'Admin Postback Deliveries' requestBody: required: true content: application/json: schema: type: object properties: postback_profile_id: type: integer description: 'The id of an existing record in the postback_profile table.' example: 16 postback_type_id: type: integer description: 'The id of an existing record in the postback_type table.' example: 16 campaign_id: type: integer description: 'The campaign_id of an existing record in the campaigns table.' example: 16 nullable: true order_id: type: integer description: 'The order_id of an existing record in the orders table.' example: 16 nullable: true subscription_id: type: integer description: 'The subscription_id of an existing record in the subscriptions table.' example: 16 nullable: true dedupe_key: type: string description: 'Must not be greater than 255 characters.' example: 'n' status: type: string description: 'Must not be greater than 50 characters.' example: g attempt_count: type: integer description: 'Must be at least 0.' example: 12 next_attempt_at: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' nullable: true last_attempt_at: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' nullable: true required: - postback_profile_id - postback_type_id - dedupe_key - status '/api/admin/v1/postback-deliveries/{id}': get: summary: 'Display a specific postback delivery.' operationId: displayASpecificPostbackDelivery description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Postback Deliveries' put: summary: 'Update the specified postback delivery (e.g. manual status override).' operationId: updateTheSpecifiedPostbackDeliveryegManualStatusOverride description: '' parameters: [] responses: { } tags: - 'Admin Postback Deliveries' requestBody: required: false content: application/json: schema: type: object properties: postback_profile_id: type: integer description: 'The id of an existing record in the postback_profile table.' example: 16 postback_type_id: type: integer description: 'The id of an existing record in the postback_type table.' example: 16 campaign_id: type: integer description: 'The campaign_id of an existing record in the campaigns table.' example: 16 nullable: true order_id: type: integer description: 'The order_id of an existing record in the orders table.' example: 16 nullable: true subscription_id: type: integer description: 'The subscription_id of an existing record in the subscriptions table.' example: 16 nullable: true dedupe_key: type: string description: 'Must not be greater than 255 characters.' example: 'n' status: type: string description: 'Must not be greater than 50 characters.' example: g attempt_count: type: integer description: 'Must be at least 0.' example: 12 next_attempt_at: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' nullable: true last_attempt_at: type: string description: 'Must be a valid date.' example: '2026-04-27T19:50:13' nullable: true delete: summary: 'Remove the specified postback delivery.' operationId: removeTheSpecifiedPostbackDelivery description: '' parameters: [] responses: { } tags: - 'Admin Postback Deliveries' parameters: - in: path name: id description: 'The ID of the postback delivery.' example: architecto required: true schema: type: string /api/admin/v1/postback-logs: get: summary: 'Paginated list of postback logs.' operationId: paginatedListOfPostbackLogs description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Postback Logs' post: summary: 'Store a new postback log (Manual injection - rare but supported).' operationId: storeANewPostbackLogManualInjectionRareButSupported description: '' parameters: [] responses: { } tags: - 'Admin Postback Logs' requestBody: required: true content: application/json: schema: type: object properties: postback_delivery_id: type: integer description: 'The id of an existing record in the postback_deliveries table.' example: 16 request_url: type: string description: 'Must be a valid URL. Must not be greater than 2048 characters.' example: 'http://bailey.com/' request_method: type: string description: 'Must not be greater than 10 characters.' example: miyvdl request_headers: type: object description: '' example: null properties: { } nullable: true request_body: type: string description: '' example: architecto nullable: true response_status_code: type: integer description: '' example: 16 nullable: true response_headers: type: object description: '' example: null properties: { } nullable: true response_body: type: string description: '' example: architecto nullable: true response_time_ms: type: integer description: 'Must be at least 0.' example: 39 nullable: true error_message: type: string description: '' example: architecto nullable: true required: - postback_delivery_id - request_url - request_method '/api/admin/v1/postback-logs/{id}': get: summary: 'Display a specific postback log.' operationId: displayASpecificPostbackLog description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Postback Logs' put: summary: 'Update the specified postback log.' operationId: updateTheSpecifiedPostbackLog description: '' parameters: [] responses: { } tags: - 'Admin Postback Logs' requestBody: required: false content: application/json: schema: type: object properties: postback_delivery_id: type: integer description: 'The id of an existing record in the postback_deliveries table.' example: 16 request_url: type: string description: 'Must be a valid URL. Must not be greater than 2048 characters.' example: 'http://bailey.com/' request_method: type: string description: 'Must not be greater than 10 characters.' example: miyvdl request_headers: type: object description: '' example: null properties: { } nullable: true request_body: type: string description: '' example: architecto nullable: true response_status_code: type: integer description: '' example: 16 nullable: true response_headers: type: object description: '' example: null properties: { } nullable: true response_body: type: string description: '' example: architecto nullable: true response_time_ms: type: integer description: 'Must be at least 0.' example: 39 nullable: true error_message: type: string description: '' example: architecto nullable: true delete: summary: 'Remove the specified postback log.' operationId: removeTheSpecifiedPostbackLog description: '' parameters: [] responses: { } tags: - 'Admin Postback Logs' parameters: - in: path name: id description: 'The ID of the postback log.' example: architecto required: true schema: type: string /api/admin/v1/postback-profiles: get: summary: 'Paginated list of postback profiles.' operationId: paginatedListOfPostbackProfiles description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Postback Profiles' post: summary: 'Store a new postback profile.' operationId: storeANewPostbackProfile description: '' parameters: [] responses: { } tags: - 'Admin Postback Profiles' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 255 characters.' example: b description: type: string description: 'Must not be greater than 1000 characters.' example: 'Et animi quos velit et fugiat.' nullable: true url: type: string description: 'Must be a valid URL. Must not be greater than 2048 characters.' example: 'http://www.dach.com/mollitia-modi-deserunt-aut-ab-provident-perspiciatis-quo.html' http_method_id: type: integer description: 'The id of an existing record in the http_method table.' example: 16 content_type: type: string description: 'Must not be greater than 100 characters.' example: 'n' is_active: type: boolean description: '' example: true is_global: type: boolean description: '' example: false timeout_seconds: type: integer description: 'Must be at least 1. Must not be greater than 60.' example: 7 nullable: true retry_count: type: integer description: 'Must be at least 0. Must not be greater than 10.' example: 6 nullable: true retry_delay_seconds: type: array description: 'Must be at least 1.' example: - 27 items: type: integer auth_type: type: string description: 'Must not be greater than 50 characters.' example: i nullable: true headers: type: object description: '' example: null properties: { } nullable: true body_template: type: string description: '' example: architecto nullable: true required: - name - url - http_method_id - content_type '/api/admin/v1/postback-profiles/{id}': get: summary: 'Display a specific postback profile.' operationId: displayASpecificPostbackProfile description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Postback Profiles' put: summary: 'Update the specified postback profile.' operationId: updateTheSpecifiedPostbackProfile description: '' parameters: [] responses: { } tags: - 'Admin Postback Profiles' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 255 characters.' example: b description: type: string description: 'Must not be greater than 1000 characters.' example: 'Et animi quos velit et fugiat.' nullable: true url: type: string description: 'Must be a valid URL. Must not be greater than 2048 characters.' example: 'http://www.dach.com/mollitia-modi-deserunt-aut-ab-provident-perspiciatis-quo.html' http_method_id: type: integer description: 'The id of an existing record in the http_method table.' example: 16 content_type: type: string description: 'Must not be greater than 100 characters.' example: 'n' is_active: type: boolean description: '' example: true is_global: type: boolean description: '' example: false timeout_seconds: type: integer description: 'Must be at least 1. Must not be greater than 60.' example: 7 nullable: true retry_count: type: integer description: 'Must be at least 0. Must not be greater than 10.' example: 6 nullable: true retry_delay_seconds: type: array description: 'Must be at least 1.' example: - 27 items: type: integer auth_type: type: string description: 'Must not be greater than 50 characters.' example: i nullable: true headers: type: object description: '' example: null properties: { } nullable: true body_template: type: string description: '' example: architecto nullable: true delete: summary: 'Remove the specified postback profile.' operationId: removeTheSpecifiedPostbackProfile description: '' parameters: [] responses: { } tags: - 'Admin Postback Profiles' parameters: - in: path name: id description: 'The ID of the postback profile.' example: architecto required: true schema: type: string /api/admin/v1/postback-triggers: get: summary: 'Paginated list of postback triggers.' operationId: paginatedListOfPostbackTriggers description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Postback Triggers' post: summary: 'Store a new postback trigger.' operationId: storeANewPostbackTrigger description: '' parameters: [] responses: { } tags: - 'Admin Postback Triggers' requestBody: required: true content: application/json: schema: type: object properties: postback_profile_id: type: integer description: 'The id of an existing record in the postback_profile table.' example: 16 postback_type_id: type: integer description: 'The id of an existing record in the postback_type table.' example: 16 filter_conditions: type: object description: '' example: null properties: { } nullable: true is_active: type: boolean description: '' example: true required: - postback_profile_id - postback_type_id '/api/admin/v1/postback-triggers/{id}': get: summary: 'Display a specific postback trigger.' operationId: displayASpecificPostbackTrigger description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Postback Triggers' put: summary: 'Update the specified postback trigger.' operationId: updateTheSpecifiedPostbackTrigger description: '' parameters: [] responses: { } tags: - 'Admin Postback Triggers' requestBody: required: false content: application/json: schema: type: object properties: postback_profile_id: type: integer description: 'The id of an existing record in the postback_profile table.' example: 16 postback_type_id: type: integer description: 'The id of an existing record in the postback_type table.' example: 16 filter_conditions: type: object description: '' example: null properties: { } nullable: true is_active: type: boolean description: '' example: false delete: summary: 'Remove the specified postback trigger.' operationId: removeTheSpecifiedPostbackTrigger description: '' parameters: [] responses: { } tags: - 'Admin Postback Triggers' parameters: - in: path name: id description: 'The ID of the postback trigger.' example: architecto required: true schema: type: string /api/admin/v1/postback-types: get: summary: 'Paginated list of postback types.' operationId: paginatedListOfPostbackTypes description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Postback Types' post: summary: 'Store a new postback type.' operationId: storeANewPostbackType description: '' parameters: [] responses: { } tags: - 'Admin Postback Types' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 255 characters.' example: b description: type: string description: 'Must not be greater than 1000 characters.' example: 'Et animi quos velit et fugiat.' nullable: true event_key: type: string description: 'Must not be greater than 150 characters.' example: d is_active: type: boolean description: '' example: false required: - name - event_key '/api/admin/v1/postback-types/{id}': get: summary: 'Display a specific postback type.' operationId: displayASpecificPostbackType description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Postback Types' put: summary: 'Update the specified postback type.' operationId: updateTheSpecifiedPostbackType description: '' parameters: [] responses: { } tags: - 'Admin Postback Types' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 255 characters.' example: b description: type: string description: 'Must not be greater than 1000 characters.' example: 'Et animi quos velit et fugiat.' nullable: true event_key: type: string description: 'Must not be greater than 150 characters.' example: d is_active: type: boolean description: '' example: false delete: summary: 'Remove the specified postback type.' operationId: removeTheSpecifiedPostbackType description: '' parameters: [] responses: { } tags: - 'Admin Postback Types' parameters: - in: path name: id description: 'The ID of the postback type.' example: architecto required: true schema: type: string /api/admin/v1/products: get: summary: 'Display a paginated listing of products.' operationId: displayAPaginatedListingOfProducts description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Products' post: summary: 'Store a newly created product.' operationId: storeANewlyCreatedProduct description: '' parameters: [] responses: { } tags: - 'Admin Products' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Product name. Must not be greater than 250 characters.' example: 'Weight Loss Kit' sku: type: string description: 'Product SKU. Must not be greater than 50 characters.' example: WLK-001 vertical: type: integer description: 'Vertical identifier.' example: 1 nullable: true category_id: type: integer description: 'ID of the category. The id of an existing record in the category table.' example: 1 price: type: number description: 'Product price. Must be at least 0.' example: 49.99 price_type: type: integer description: 'Price type identifier.' example: 0 nullable: true cost_of_goods: type: number description: 'Cost of goods. Must be at least 0.' example: 12.5 max_quantity: type: integer description: 'Maximum quantity per order. Must be at least 0.' example: 10 max_items: type: integer description: 'Maximum items allowed. Must be at least 0.' example: 5 nullable: true description: type: string description: 'Product description.' example: 'A comprehensive weight loss kit.' is_trial_product: type: boolean description: 'Whether this is a trial product.' example: false nullable: true is_taxable: type: boolean description: 'Whether the product is taxable.' example: true nullable: true tax_code: type: string description: 'Tax code. Must not be greater than 50 characters.' example: TX001 nullable: true single_purchase_limit: type: boolean description: 'Limit to single purchase.' example: false nullable: true is_licensed: type: boolean description: 'Whether the product is licensed.' example: false nullable: true is_shippable: type: boolean description: 'Whether the product is shippable.' example: true nullable: true weight: type: integer description: 'Product weight in grams. Must be at least 0.' example: 500 declared_value: type: number description: 'Declared customs value. Must be at least 0.' example: 25.0 nullable: true digital_download: type: boolean description: 'Whether this is a digital download.' example: false nullable: true signature_confirmation: type: boolean description: 'Require signature on delivery.' example: false nullable: true delivery_confirmation: type: boolean description: 'Require delivery confirmation.' example: false nullable: true is_bundle: type: boolean description: 'Whether this is a bundle product.' example: false nullable: true is_custom_bundle: type: boolean description: 'Whether this is a custom bundle.' example: false nullable: true required: - name - sku - category_id - price - cost_of_goods - max_quantity - description - weight '/api/admin/v1/products/{id}': get: summary: 'Display the specified product.' operationId: displayTheSpecifiedProduct description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - 'Admin Products' patch: summary: 'Update the specified product.' operationId: updateTheSpecifiedProduct description: '' parameters: [] responses: { } tags: - 'Admin Products' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Product name. Must not be greater than 250 characters.' example: 'Weight Loss Kit' sku: type: string description: 'Product SKU. Must not be greater than 50 characters.' example: WLK-001 vertical: type: integer description: 'Vertical identifier.' example: 1 nullable: true category_id: type: integer description: 'ID of the category. The id of an existing record in the category table.' example: 1 price: type: number description: 'Product price. Must be at least 0.' example: 49.99 price_type: type: integer description: 'Price type identifier.' example: 0 nullable: true cost_of_goods: type: number description: 'Cost of goods. Must be at least 0.' example: 12.5 max_quantity: type: integer description: 'Maximum quantity per order. Must be at least 0.' example: 10 max_items: type: integer description: 'Maximum items allowed. Must be at least 0.' example: 5 nullable: true description: type: string description: 'Product description.' example: 'A comprehensive weight loss kit.' is_trial_product: type: boolean description: 'Whether this is a trial product.' example: false nullable: true is_taxable: type: boolean description: 'Whether the product is taxable.' example: true nullable: true tax_code: type: string description: 'Tax code. Must not be greater than 50 characters.' example: TX001 nullable: true single_purchase_limit: type: boolean description: 'Limit to single purchase.' example: false nullable: true is_licensed: type: boolean description: 'Whether the product is licensed.' example: false nullable: true is_shippable: type: boolean description: 'Whether the product is shippable.' example: true nullable: true weight: type: integer description: 'Product weight in grams. Must be at least 0.' example: 500 declared_value: type: number description: 'Declared customs value. Must be at least 0.' example: 25.0 nullable: true digital_download: type: boolean description: 'Whether this is a digital download.' example: false nullable: true signature_confirmation: type: boolean description: 'Require signature on delivery.' example: false nullable: true delivery_confirmation: type: boolean description: 'Require delivery confirmation.' example: false nullable: true is_bundle: type: boolean description: 'Whether this is a bundle product.' example: false nullable: true is_custom_bundle: type: boolean description: 'Whether this is a custom bundle.' example: false nullable: true parameters: - in: path name: id description: 'The ID of the product.' example: architecto required: true schema: type: string /api/v1/billing_model_view: get: summary: 'Display the specified billing model' operationId: displayTheSpecifiedBillingModel description: '' parameters: [] responses: 404: description: '' content: application/json: schema: type: object example: success: false message: 'Billing model not found' version: v1 properties: success: type: boolean example: false message: type: string example: 'Billing model not found' version: type: string example: v1 tags: - 'Billing Models' /api/v1/billing-models: get: summary: 'Display a listing of billing models' operationId: displayAListingOfBillingModels description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true message: 'Billing models retrieved successfully' data: - billing_model_id: 2 name: 'One Time Purchase' bill_by_type_id: 0 interval_day: 0 interval_week: 0 preserve_quantity: 0 bill_by_days: 0 expire_cycles: 1 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:22.000000Z' - billing_model_id: 4 name: '1 Month Subscription (32 Day Cycle)' bill_by_type_id: 1 interval_day: 0 interval_week: 0 preserve_quantity: 1 bill_by_days: 32 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:22.000000Z' - billing_model_id: 6 name: '2 Month Subscritpion (62 Day Cycle)' bill_by_type_id: 1 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 62 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:23.000000Z' - billing_model_id: 8 name: '4 Month Subscription (123 Day Cycle)' bill_by_type_id: 1 interval_day: 0 interval_week: 0 preserve_quantity: 1 bill_by_days: 123 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:24.000000Z' - billing_model_id: 10 name: '6 Month Subscription (186 Day Cycle)' bill_by_type_id: 1 interval_day: 0 interval_week: 0 preserve_quantity: 1 bill_by_days: 186 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:25.000000Z' - billing_model_id: 13 name: '3 Month Subscription (92 Day Cycle)' bill_by_type_id: 1 interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 92 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:26.000000Z' - billing_model_id: 14 name: '1 Month' bill_by_type_id: 5 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:27.000000Z' - billing_model_id: 15 name: '2 Months' bill_by_type_id: 5 interval_day: 2 interval_week: 1 preserve_quantity: 1 bill_by_days: 15 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:27.000000Z' - billing_model_id: 16 name: '3 Months' bill_by_type_id: 5 interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:28.000000Z' - billing_model_id: 17 name: '4 Months' bill_by_type_id: 5 interval_day: 4 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:28.000000Z' - billing_model_id: 18 name: '6 Months' bill_by_type_id: 5 interval_day: 6 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:29.000000Z' - billing_model_id: 19 name: '45 Day Subscription (45 Day Cycle)' bill_by_type_id: 1 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 32 expire_cycles: 0 buffer_days: 0 created_at: '2025-11-25T23:45:13.000000Z' updated_at: '2025-11-25T23:46:29.000000Z' - billing_model_id: 20 name: '30 Day Trial' bill_by_type_id: 1 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 30 expire_cycles: 0 buffer_days: 0 created_at: '2025-11-25T23:45:14.000000Z' updated_at: '2025-11-25T23:46:29.000000Z' - billing_model_id: 21 name: 'Ships Every Month' bill_by_type_id: 1 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 30 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:30.000000Z' - billing_model_id: 22 name: 'Ships Every 3 Months (90 days)' bill_by_type_id: 1 interval_day: 0 interval_week: 0 preserve_quantity: 1 bill_by_days: 90 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:30.000000Z' meta: current_page: 1 per_page: 15 total: 43 last_page: 3 from: 1 to: 15 links: first: 'http://localhost/api/v1/billing-models?page=1' last: 'http://localhost/api/v1/billing-models?page=3' prev: null next: 'http://localhost/api/v1/billing-models?page=2' version: v1 properties: success: type: boolean example: true message: type: string example: 'Billing models retrieved successfully' data: type: array example: - billing_model_id: 2 name: 'One Time Purchase' bill_by_type_id: 0 interval_day: 0 interval_week: 0 preserve_quantity: 0 bill_by_days: 0 expire_cycles: 1 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:22.000000Z' - billing_model_id: 4 name: '1 Month Subscription (32 Day Cycle)' bill_by_type_id: 1 interval_day: 0 interval_week: 0 preserve_quantity: 1 bill_by_days: 32 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:22.000000Z' - billing_model_id: 6 name: '2 Month Subscritpion (62 Day Cycle)' bill_by_type_id: 1 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 62 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:23.000000Z' - billing_model_id: 8 name: '4 Month Subscription (123 Day Cycle)' bill_by_type_id: 1 interval_day: 0 interval_week: 0 preserve_quantity: 1 bill_by_days: 123 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:24.000000Z' - billing_model_id: 10 name: '6 Month Subscription (186 Day Cycle)' bill_by_type_id: 1 interval_day: 0 interval_week: 0 preserve_quantity: 1 bill_by_days: 186 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:25.000000Z' - billing_model_id: 13 name: '3 Month Subscription (92 Day Cycle)' bill_by_type_id: 1 interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 92 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:26.000000Z' - billing_model_id: 14 name: '1 Month' bill_by_type_id: 5 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:27.000000Z' - billing_model_id: 15 name: '2 Months' bill_by_type_id: 5 interval_day: 2 interval_week: 1 preserve_quantity: 1 bill_by_days: 15 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:27.000000Z' - billing_model_id: 16 name: '3 Months' bill_by_type_id: 5 interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:28.000000Z' - billing_model_id: 17 name: '4 Months' bill_by_type_id: 5 interval_day: 4 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:28.000000Z' - billing_model_id: 18 name: '6 Months' bill_by_type_id: 5 interval_day: 6 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:29.000000Z' - billing_model_id: 19 name: '45 Day Subscription (45 Day Cycle)' bill_by_type_id: 1 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 32 expire_cycles: 0 buffer_days: 0 created_at: '2025-11-25T23:45:13.000000Z' updated_at: '2025-11-25T23:46:29.000000Z' - billing_model_id: 20 name: '30 Day Trial' bill_by_type_id: 1 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 30 expire_cycles: 0 buffer_days: 0 created_at: '2025-11-25T23:45:14.000000Z' updated_at: '2025-11-25T23:46:29.000000Z' - billing_model_id: 21 name: 'Ships Every Month' bill_by_type_id: 1 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 30 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:30.000000Z' - billing_model_id: 22 name: 'Ships Every 3 Months (90 days)' bill_by_type_id: 1 interval_day: 0 interval_week: 0 preserve_quantity: 1 bill_by_days: 90 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:30.000000Z' items: type: object properties: billing_model_id: type: integer example: 2 name: type: string example: 'One Time Purchase' bill_by_type_id: type: integer example: 0 interval_day: type: integer example: 0 interval_week: type: integer example: 0 preserve_quantity: type: integer example: 0 bill_by_days: type: integer example: 0 expire_cycles: type: integer example: 1 buffer_days: type: integer example: 0 created_at: type: string example: '2025-10-01T05:41:07.000000Z' updated_at: type: string example: '2025-11-25T23:46:22.000000Z' meta: type: object properties: current_page: type: integer example: 1 per_page: type: integer example: 15 total: type: integer example: 43 last_page: type: integer example: 3 from: type: integer example: 1 to: type: integer example: 15 links: type: object properties: first: type: string example: 'http://localhost/api/v1/billing-models?page=1' last: type: string example: 'http://localhost/api/v1/billing-models?page=3' prev: type: string example: null nullable: true next: type: string example: 'http://localhost/api/v1/billing-models?page=2' version: type: string example: v1 tags: - 'Billing Models' post: summary: 'Store a newly created billing model' operationId: storeANewlyCreatedBillingModel description: '' parameters: [] responses: { } tags: - 'Billing Models' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 100 characters.' example: b bill_by_type_id: type: integer description: '' example: 16 interval_day: type: integer description: 'Must be at least 0.' example: 39 nullable: true interval_week: type: integer description: 'Must be at least 0.' example: 84 nullable: true preserve_quantity: type: integer description: 'Must be at least 0.' example: 12 nullable: true bill_by_days: type: integer description: 'Must be at least 0.' example: 77 nullable: true expire_cycles: type: integer description: 'Must be at least 0.' example: 8 nullable: true buffer_days: type: integer description: 'Must be at least 0.' example: 76 nullable: true required: - name - bill_by_type_id '/api/v1/billing-models/{id}': get: summary: 'Display the specified billing model' operationId: displayTheSpecifiedBillingModel description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true message: 'Billing model retrieved successfully' data: billing_model_id: 2 name: 'One Time Purchase' bill_by_type_id: 0 interval_day: 0 interval_week: 0 preserve_quantity: 0 bill_by_days: 0 expire_cycles: 1 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:22.000000Z' billing_model_dates: [] version: v1 properties: success: type: boolean example: true message: type: string example: 'Billing model retrieved successfully' data: type: object properties: billing_model_id: type: integer example: 2 name: type: string example: 'One Time Purchase' bill_by_type_id: type: integer example: 0 interval_day: type: integer example: 0 interval_week: type: integer example: 0 preserve_quantity: type: integer example: 0 bill_by_days: type: integer example: 0 expire_cycles: type: integer example: 1 buffer_days: type: integer example: 0 created_at: type: string example: '2025-10-01T05:41:07.000000Z' updated_at: type: string example: '2025-11-25T23:46:22.000000Z' billing_model_dates: type: array example: [] version: type: string example: v1 tags: - 'Billing Models' put: summary: 'Update the specified billing model' operationId: updateTheSpecifiedBillingModel description: '' parameters: [] responses: { } tags: - 'Billing Models' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 100 characters.' example: b bill_by_type_id: type: integer description: '' example: 16 interval_day: type: integer description: 'Must be at least 0.' example: 39 nullable: true interval_week: type: integer description: 'Must be at least 0.' example: 84 nullable: true preserve_quantity: type: integer description: 'Must be at least 0.' example: 12 nullable: true bill_by_days: type: integer description: 'Must be at least 0.' example: 77 nullable: true expire_cycles: type: integer description: 'Must be at least 0.' example: 8 nullable: true buffer_days: type: integer description: 'Must be at least 0.' example: 76 nullable: true delete: summary: 'Remove the specified billing model' operationId: removeTheSpecifiedBillingModel description: '' parameters: [] responses: { } tags: - 'Billing Models' parameters: - in: path name: id description: 'The ID of the billing model.' example: 2 required: true schema: type: integer /api/v2/billing-models: get: summary: "Display a listing of billing models\nV2: Enhanced with additional relationships and filtering" operationId: displayAListingOfBillingModelsV2EnhancedWithAdditionalRelationshipsAndFiltering description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true message: 'Billing models retrieved successfully' data: - billing_model_id: 47 name: '1 Month' bill_by_type_id: 5 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:41.000000Z' billing_model_dates: [] - billing_model_id: 14 name: '1 Month' bill_by_type_id: 5 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:27.000000Z' billing_model_dates: [] - billing_model_id: 4 name: '1 Month Subscription (32 Day Cycle)' bill_by_type_id: 1 interval_day: 0 interval_week: 0 preserve_quantity: 1 bill_by_days: 32 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:22.000000Z' billing_model_dates: [] - billing_model_id: 25 name: '12 Month Subscription' bill_by_type_id: 1 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 365 expire_cycles: 0 buffer_days: 0 created_at: '2025-11-25T23:45:17.000000Z' updated_at: '2025-11-25T23:46:32.000000Z' billing_model_dates: [] - billing_model_id: 54 name: '12 Months' bill_by_type_id: 0 interval_day: 1 interval_week: 1 preserve_quantity: 0 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-10-01T05:41:07.000000Z' billing_model_dates: [] - billing_model_id: 28 name: '12 Months' bill_by_type_id: 5 interval_day: 12 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-11-25T23:45:18.000000Z' updated_at: '2025-11-25T23:46:33.000000Z' billing_model_dates: [] - billing_model_id: 24 name: '12 Months' bill_by_type_id: 5 interval_day: 12 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:31.000000Z' billing_model_dates: [] - billing_model_id: 37 name: '12 months - ED BPG' bill_by_type_id: 5 interval_day: 12 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:37.000000Z' billing_model_dates: [] - billing_model_id: 38 name: '2 Month Subscription - Discounted' bill_by_type_id: 5 interval_day: 2 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:37.000000Z' billing_model_dates: [] - billing_model_id: 97 name: '2 Month Subscritpion (55 Day Cycle)' bill_by_type_id: 0 interval_day: 1 interval_week: 1 preserve_quantity: 0 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-10-01T05:41:07.000000Z' billing_model_dates: [] - billing_model_id: 6 name: '2 Month Subscritpion (62 Day Cycle)' bill_by_type_id: 1 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 62 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:23.000000Z' billing_model_dates: [] - billing_model_id: 15 name: '2 Months' bill_by_type_id: 5 interval_day: 2 interval_week: 1 preserve_quantity: 1 bill_by_days: 15 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:27.000000Z' billing_model_dates: [] - billing_model_id: 48 name: '3 Month - Cialis Daily' bill_by_type_id: 5 interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-11-25T23:45:28.000000Z' updated_at: '2025-11-25T23:46:41.000000Z' billing_model_dates: [] - billing_model_id: 13 name: '3 Month Subscription (92 Day Cycle)' bill_by_type_id: 1 interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 92 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:26.000000Z' billing_model_dates: [] - billing_model_id: 32 name: '3 Months' bill_by_type_id: 5 interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:35.000000Z' billing_model_dates: [] meta: current_page: 1 per_page: 15 total: 43 last_page: 3 from: 1 to: 15 links: first: 'http://localhost/api/v2/billing-models?page=1' last: 'http://localhost/api/v2/billing-models?page=3' prev: null next: 'http://localhost/api/v2/billing-models?page=2' version: v2 properties: success: type: boolean example: true message: type: string example: 'Billing models retrieved successfully' data: type: array example: - billing_model_id: 47 name: '1 Month' bill_by_type_id: 5 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:41.000000Z' billing_model_dates: [] - billing_model_id: 14 name: '1 Month' bill_by_type_id: 5 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:27.000000Z' billing_model_dates: [] - billing_model_id: 4 name: '1 Month Subscription (32 Day Cycle)' bill_by_type_id: 1 interval_day: 0 interval_week: 0 preserve_quantity: 1 bill_by_days: 32 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:22.000000Z' billing_model_dates: [] - billing_model_id: 25 name: '12 Month Subscription' bill_by_type_id: 1 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 365 expire_cycles: 0 buffer_days: 0 created_at: '2025-11-25T23:45:17.000000Z' updated_at: '2025-11-25T23:46:32.000000Z' billing_model_dates: [] - billing_model_id: 54 name: '12 Months' bill_by_type_id: 0 interval_day: 1 interval_week: 1 preserve_quantity: 0 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-10-01T05:41:07.000000Z' billing_model_dates: [] - billing_model_id: 28 name: '12 Months' bill_by_type_id: 5 interval_day: 12 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-11-25T23:45:18.000000Z' updated_at: '2025-11-25T23:46:33.000000Z' billing_model_dates: [] - billing_model_id: 24 name: '12 Months' bill_by_type_id: 5 interval_day: 12 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:31.000000Z' billing_model_dates: [] - billing_model_id: 37 name: '12 months - ED BPG' bill_by_type_id: 5 interval_day: 12 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:37.000000Z' billing_model_dates: [] - billing_model_id: 38 name: '2 Month Subscription - Discounted' bill_by_type_id: 5 interval_day: 2 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:37.000000Z' billing_model_dates: [] - billing_model_id: 97 name: '2 Month Subscritpion (55 Day Cycle)' bill_by_type_id: 0 interval_day: 1 interval_week: 1 preserve_quantity: 0 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-10-01T05:41:07.000000Z' billing_model_dates: [] - billing_model_id: 6 name: '2 Month Subscritpion (62 Day Cycle)' bill_by_type_id: 1 interval_day: 1 interval_week: 1 preserve_quantity: 1 bill_by_days: 62 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:23.000000Z' billing_model_dates: [] - billing_model_id: 15 name: '2 Months' bill_by_type_id: 5 interval_day: 2 interval_week: 1 preserve_quantity: 1 bill_by_days: 15 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:27.000000Z' billing_model_dates: [] - billing_model_id: 48 name: '3 Month - Cialis Daily' bill_by_type_id: 5 interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-11-25T23:45:28.000000Z' updated_at: '2025-11-25T23:46:41.000000Z' billing_model_dates: [] - billing_model_id: 13 name: '3 Month Subscription (92 Day Cycle)' bill_by_type_id: 1 interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 92 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:26.000000Z' billing_model_dates: [] - billing_model_id: 32 name: '3 Months' bill_by_type_id: 5 interval_day: 3 interval_week: 1 preserve_quantity: 1 bill_by_days: 0 expire_cycles: 0 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:35.000000Z' billing_model_dates: [] items: type: object properties: billing_model_id: type: integer example: 47 name: type: string example: '1 Month' bill_by_type_id: type: integer example: 5 interval_day: type: integer example: 1 interval_week: type: integer example: 1 preserve_quantity: type: integer example: 1 bill_by_days: type: integer example: 0 expire_cycles: type: integer example: 0 buffer_days: type: integer example: 0 created_at: type: string example: '2025-10-01T05:41:07.000000Z' updated_at: type: string example: '2025-11-25T23:46:41.000000Z' billing_model_dates: type: array example: [] meta: type: object properties: current_page: type: integer example: 1 per_page: type: integer example: 15 total: type: integer example: 43 last_page: type: integer example: 3 from: type: integer example: 1 to: type: integer example: 15 links: type: object properties: first: type: string example: 'http://localhost/api/v2/billing-models?page=1' last: type: string example: 'http://localhost/api/v2/billing-models?page=3' prev: type: string example: null nullable: true next: type: string example: 'http://localhost/api/v2/billing-models?page=2' version: type: string example: v2 tags: - 'Billing Models v2' post: summary: "Store a newly created billing model\nV2: Enhanced validation and default values" operationId: storeANewlyCreatedBillingModelV2EnhancedValidationAndDefaultValues description: '' parameters: [] responses: { } tags: - 'Billing Models v2' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 100 characters.' example: b bill_by_type_id: type: integer description: '' example: 16 interval_day: type: integer description: 'Must be at least 0.' example: 39 nullable: true interval_week: type: integer description: 'Must be at least 0.' example: 84 nullable: true preserve_quantity: type: integer description: 'Must be at least 0.' example: 12 nullable: true bill_by_days: type: integer description: 'Must be at least 0.' example: 77 nullable: true expire_cycles: type: integer description: 'Must be at least 0.' example: 8 nullable: true buffer_days: type: integer description: 'Must be at least 0.' example: 76 nullable: true required: - name - bill_by_type_id '/api/v2/billing-models/{id}': get: summary: "Display the specified billing model\nV2: Includes more relationships" operationId: displayTheSpecifiedBillingModelV2IncludesMoreRelationships description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true message: 'Billing model retrieved successfully' data: billing_model_id: 2 name: 'One Time Purchase' bill_by_type_id: 0 interval_day: 0 interval_week: 0 preserve_quantity: 0 bill_by_days: 0 expire_cycles: 1 buffer_days: 0 created_at: '2025-10-01T05:41:07.000000Z' updated_at: '2025-11-25T23:46:22.000000Z' billing_model_dates: [] campaign_offer_billing_models: [] version: v2 properties: success: type: boolean example: true message: type: string example: 'Billing model retrieved successfully' data: type: object properties: billing_model_id: type: integer example: 2 name: type: string example: 'One Time Purchase' bill_by_type_id: type: integer example: 0 interval_day: type: integer example: 0 interval_week: type: integer example: 0 preserve_quantity: type: integer example: 0 bill_by_days: type: integer example: 0 expire_cycles: type: integer example: 1 buffer_days: type: integer example: 0 created_at: type: string example: '2025-10-01T05:41:07.000000Z' updated_at: type: string example: '2025-11-25T23:46:22.000000Z' billing_model_dates: type: array example: [] campaign_offer_billing_models: type: array example: [] version: type: string example: v2 tags: - 'Billing Models v2' put: summary: "Update the specified billing model\nV2: Enhanced update with relationship support" operationId: updateTheSpecifiedBillingModelV2EnhancedUpdateWithRelationshipSupport description: '' parameters: [] responses: { } tags: - 'Billing Models v2' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Must not be greater than 100 characters.' example: b bill_by_type_id: type: integer description: '' example: 16 interval_day: type: integer description: 'Must be at least 0.' example: 39 nullable: true interval_week: type: integer description: 'Must be at least 0.' example: 84 nullable: true preserve_quantity: type: integer description: 'Must be at least 0.' example: 12 nullable: true bill_by_days: type: integer description: 'Must be at least 0.' example: 77 nullable: true expire_cycles: type: integer description: 'Must be at least 0.' example: 8 nullable: true buffer_days: type: integer description: 'Must be at least 0.' example: 76 nullable: true delete: summary: 'Remove the specified billing model' operationId: removeTheSpecifiedBillingModel description: '' parameters: [] responses: { } tags: - 'Billing Models v2' parameters: - in: path name: id description: 'The ID of the billing model.' example: 2 required: true schema: type: integer /api/api_user: post: summary: 'Store a newly created user in storage.' operationId: storeANewlyCreatedUserInStorage description: '' parameters: [] responses: { } tags: - Endpoints /api/api_user/get_token: post: summary: 'Requests an API token' operationId: requestsAnAPIToken description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Must be a valid email address.' example: gbailey@example.net password: type: string description: '' example: architecto required: - email - password /api/health-check: get: summary: '' operationId: getApiHealthCheck description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: ok php: 8.4.18 laravel: 12.14.1 properties: status: type: string example: ok php: type: string example: 8.4.18 laravel: type: string example: 12.14.1 tags: - Endpoints /api/v1/health: get: summary: '' operationId: getApiV1Health description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: ok version: v1 timestamp: '2026-04-27T19:50:10+00:00' properties: status: type: string example: ok version: type: string example: v1 timestamp: type: string example: '2026-04-27T19:50:10+00:00' tags: - Endpoints /api/v1/auth/admin/dev/issue-token: post: summary: 'POST /api/v1/auth/admin/dev/issue-token' operationId: pOSTapiv1authadmindevissueToken description: "DEV-ONLY: Issue a Sanctum token for an existing, active AdminUser.\nGuarded by environment, feature flag, and IP allowlist.\nThis endpoint must NEVER reach production." parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Must be a valid email address.' example: gbailey@example.net required: - email /api/v1/integrations/ping: get: summary: '' operationId: getApiV1IntegrationsPing description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: ok: true properties: ok: type: boolean example: true tags: - Endpoints /api/v2/health: get: summary: '' operationId: getApiV2Health description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: ok version: v2 timestamp: '2026-04-27T19:50:12+00:00' properties: status: type: string example: ok version: type: string example: v2 timestamp: type: string example: '2026-04-27T19:50:12+00:00' tags: - Endpoints /api/admin/v1/system-settings/alerting: post: summary: 'POST /api/admin/v1/system-settings/alerting' operationId: pOSTapiadminv1systemSettingsalerting description: 'Upserts one alerting setting under the plan §7.2 W1-W6 contract.' parameters: [] responses: { } tags: - Endpoints '/api/admin/v1/system-settings/alerting/{key}': delete: summary: 'DELETE /api/admin/v1/system-settings/alerting/{key}' operationId: dELETEapiadminv1systemSettingsalertingkey description: 'Removes the DB override row; subsequent reads fall back to config.' parameters: [] responses: { } tags: - Endpoints parameters: - in: path name: key description: '' example: Zzi required: true schema: type: string /api/admin/v1/system-settings/postbacks: post: summary: 'POST /api/admin/v1/system-settings/postbacks' operationId: pOSTapiadminv1systemSettingspostbacks description: '' parameters: [] responses: { } tags: - Endpoints '/api/admin/v1/system-settings/postbacks/{key}': delete: summary: 'DELETE /api/admin/v1/system-settings/postbacks/{key}' operationId: dELETEapiadminv1systemSettingspostbackskey description: '' parameters: [] responses: { } tags: - Endpoints parameters: - in: path name: key description: '' example: Zzi required: true schema: type: string /api/admin/v1/system-settings/rebill: post: summary: 'POST /api/admin/v1/system-settings/rebill' operationId: pOSTapiadminv1systemSettingsrebill description: "Upserts one rebill system_settings row. Accepts every key that\n{@see RebillSystemSettingsDefinitions::definitions()} registers —\ncurrently the three Wave 2 throughput keys plus\n`ordering.rebill.block_after_consecutive_terminal_failures`\n(docs/plan_block_after_x_failures.txt §7.1.5). All currently-\nregistered keys are registry type 'int'. The W1–W3 contract\napplies:\n W1 — membership against RebillSystemSettingsDefinitions::definitions()\n W2 — shape check via normaliseForStorage() (int regex)\n W3 — per-key validator closure (range cap)" parameters: [] responses: { } tags: - Endpoints '/api/admin/v1/system-settings/rebill/{key}': delete: summary: 'DELETE /api/admin/v1/system-settings/rebill/{key}' operationId: dELETEapiadminv1systemSettingsrebillkey description: "Removes the DB override row. How subsequent reads resolve depends\non the specific key:\n - For env-backed keys (the Wave 2 throughput keys), the\n repository's fallback path reads `config($path)` on the\n current environment (env override wins over the hard-coded\n file default).\n - For env-free keys (e.g.\n `ordering.rebill.block_after_consecutive_terminal_failures`,\n per docs/plan_block_after_x_failures.txt §7.1.3), the caller\n passes its own literal fallback argument to\n {@see SystemSettingsRepository::get()} at the call site; the\n shipped `config($path)` entry for such keys is a literal\n registry-hygiene value and is not env-backed." parameters: [] responses: { } tags: - Endpoints parameters: - in: path name: key description: '' example: Zzi required: true schema: type: string /api/admin/v1/system-settings/reconciliation: post: summary: 'POST /api/admin/v1/system-settings/reconciliation' operationId: pOSTapiadminv1systemSettingsreconciliation description: '' parameters: [] responses: { } tags: - Endpoints '/api/admin/v1/system-settings/reconciliation/{key}': delete: summary: 'DELETE /api/admin/v1/system-settings/reconciliation/{key}' operationId: dELETEapiadminv1systemSettingsreconciliationkey description: '' parameters: [] responses: { } tags: - Endpoints parameters: - in: path name: key description: '' example: Zzi required: true schema: type: string /api/v1/new_order: post: summary: '' operationId: postApiV1New_order description: '' parameters: [] responses: { } tags: - Orders requestBody: required: true content: application/json: schema: type: object properties: client_request_id: type: string description: 'Must not be greater than 128 characters.' example: b nullable: true firstName: type: string description: 'Must not be greater than 50 characters.' example: 'n' lastName: type: string description: 'Must not be greater than 50 characters.' example: g email: type: string description: 'Must be a valid email address. Must not be greater than 100 characters.' example: rowan.gulgowski@example.com phone: type: string description: 'Must not be greater than 20 characters.' example: dljnikhwaykcmyuw billingFirstName: type: string description: 'Must not be greater than 50 characters.' example: p nullable: true billingLastName: type: string description: 'Must not be greater than 50 characters.' example: w nullable: true billingAddress1: type: string description: 'Must not be greater than 100 characters.' example: l billingAddress2: type: string description: 'Must not be greater than 100 characters.' example: v nullable: true billingCity: type: string description: 'Must not be greater than 50 characters.' example: q billingState: type: string description: 'Must not be greater than 50 characters.' example: w billingZip: type: string description: 'Must not be greater than 20 characters.' example: rsitcpscqldzsnrw billingCountry: type: string description: 'Must not be greater than 2 characters.' example: tu billingSameAsShipping: type: string description: '' example: 'NO' enum: - 'YES' - 'NO' - 'yes' - 'no' nullable: true shippingAddress1: type: string description: 'This field is required unless billingSameAsShipping is in YES or yes. Must not be greater than 100 characters.' example: j nullable: true shippingAddress2: type: string description: 'Must not be greater than 100 characters.' example: w nullable: true shippingCity: type: string description: 'This field is required unless billingSameAsShipping is in YES or yes. Must not be greater than 50 characters.' example: v nullable: true shippingState: type: string description: 'This field is required unless billingSameAsShipping is in YES or yes. Must not be greater than 50 characters.' example: l nullable: true shippingZip: type: string description: 'This field is required unless billingSameAsShipping is in YES or yes. Must not be greater than 20 characters.' example: xjklqppwqbewtnno nullable: true shippingCountry: type: string description: 'This field is required unless billingSameAsShipping is in YES or yes. Must not be greater than 2 characters.' example: qi nullable: true shippingId: type: number description: '' example: 4326.41688 nullable: true creditCardType: type: string description: 'Must not be greater than 20 characters.' example: miyvdljnikhwaykc nullable: true campaignId: type: number description: '' example: 4326.41688 tranType: type: string description: '' example: Sale enum: - Sale nullable: true ipAddress: type: string description: 'Must be a valid IP address.' example: 1.102.226.211 nullable: true previousOrderId: type: number description: '' example: 4326.41688 nullable: true offers: type: array description: 'Must have at least 1 items.' example: - [] items: type: object properties: offer_id: type: integer description: '' example: 16 product_id: type: integer description: '' example: 16 billing_model_id: type: integer description: '' example: 16 quantity: type: integer description: 'Must be at least 1.' example: 22 required: - offer_id - product_id - billing_model_id - quantity required: - firstName - lastName - email - phone - billingAddress1 - billingCity - billingState - billingZip - billingCountry - campaignId - offers /api/v1/order_view: post: summary: 'Sticky-compatible order view (POST body: order_id array or comma-separated)' operationId: stickyCompatibleOrderViewPOSTBodyOrderIdArrayOrCommaSeparated description: '' parameters: [] responses: { } tags: - Orders /api/v1/order_update: post: summary: 'Sticky-compatible bulk order update (POST /order_update)' operationId: stickyCompatibleBulkOrderUpdatePOSTorderUpdate description: 'Accepts: { "order_id": { "123": { "field": "value" }, "456": { ... } } }' parameters: [] responses: { } tags: - Orders /api/v1/orders: get: summary: 'List orders (paginated, filterable)' operationId: listOrderspaginatedFilterable description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true message: 'Orders retrieved successfully' data: - order_id: 32008 acquisition_date: 1707598571 ancestor_id: 32008 affiliate: home afid: '' sid: '' affid: home c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: '485868' billing_address_id: null billing_first_name: John billing_last_name: Doe_Shipped billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: CA billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 150 cc_expires: 926 cc_first_6: 514300 cc_last_4: 3367 cc_number: 3367 credit_card_number: '514300******3367' cc_orig_first_6: 514300 cc_orig_last_4: 3367 cc_type: master chargeback_date: '0000-00-00' check_account_last_4: 0 check_routing_last_4: 0 check_ssn_last_4: 0 check_transitnum: '' child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22008 customers_telephone: '3072727045' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: dylan+shipped@lifemd.com first_name: John fulfillment_status: Completed gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 173.205.178.8 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 0 is_void: 0 last_name: Doe_Shipped main_product_id: 142 main_product_quantity: 6 next_subscription_product: '50mg Auth Generic Viagra' next_subscription_product_id: 142 offer_id: 34 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 60 parent_id: 32008 prepaid_match: 'No' preserve_gateway: 1 product_id: 142 processor_id: jpmorganrexmd rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '2026-03-10' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 02/10/2025 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: null shipping_first_name: John shipping_last_name: Doe_Shipped shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: CA shipping_postcode: 82426 shipping_country: US sub_affiliate: '' tracking_number: '9400111206239485422142' transaction_id: '9203565742' upsell_product_id: 0 upsell_product_quantity: 0 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: null hidden: false payment_id: null archived: 1 time_stamp: 1707598571 created_at: '2025-12-04T19:26:56.000000Z' updated_at: null - order_id: 32108 acquisition_date: 1715392165 ancestor_id: 32008 affiliate: home afid: '' sid: '' affid: home c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: '485868' billing_address_id: null billing_first_name: John billing_last_name: Doe_Shipped billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: CA billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 150 cc_expires: 926 cc_first_6: 514300 cc_last_4: 3367 cc_number: 3367 credit_card_number: '514300******3367' cc_orig_first_6: 514300 cc_orig_last_4: 3367 cc_type: master chargeback_date: '0000-00-00' check_account_last_4: 0 check_routing_last_4: 0 check_ssn_last_4: 0 check_transitnum: '' child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22008 customers_telephone: '3072727045' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: dylan+shipped@lifemd.com first_name: John fulfillment_status: Completed gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 173.205.178.8 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 0 is_void: 0 last_name: Doe_Shipped main_product_id: 142 main_product_quantity: 6 next_subscription_product: '50mg Auth Generic Viagra' next_subscription_product_id: 142 offer_id: 34 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 11 order_total: 60 parent_id: 32008 prepaid_match: 'No' preserve_gateway: 1 product_id: 142 processor_id: jpmorganrexmd rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '2026-03-10' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 02/10/2025 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: null shipping_first_name: John shipping_last_name: Doe_Shipped shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: CA shipping_postcode: 82426 shipping_country: US sub_affiliate: '' tracking_number: '941497575751948542555' transaction_id: '9203565742' upsell_product_id: 0 upsell_product_quantity: 0 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: null hidden: false payment_id: null archived: 0 time_stamp: 1715392165 created_at: '2025-12-04T19:26:56.000000Z' updated_at: null - order_id: 32835 acquisition_date: 1737254731 ancestor_id: 32035 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: DECLINE decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 7 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 'Not Shipped' shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1737254731 created_at: '2025-01-18T21:45:31.000000Z' updated_at: null - order_id: 32735 acquisition_date: 1734576331 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 12/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560221937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1734576331 created_at: '2024-12-18T21:45:31.000000Z' updated_at: null - order_id: 32635 acquisition_date: 1731984331 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 11/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560331937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1731984331 created_at: '2024-11-18T21:45:31.000000Z' updated_at: null - order_id: 32535 acquisition_date: 1729302331 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 10/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560441937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1729302331 created_at: '2024-10-18T21:45:31.000000Z' updated_at: null - order_id: 32435 acquisition_date: 1726710331 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 09/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560551937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1726710331 created_at: '2024-09-18T21:45:31.000000Z' updated_at: null - order_id: 32335 acquisition_date: 1724031931 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 08/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560661937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1724031931 created_at: '2024-08-18T21:45:31.000000Z' updated_at: null - order_id: 32235 acquisition_date: 1721353531 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 07/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560771937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1721353531 created_at: '2024-07-18T21:45:31.000000Z' updated_at: null - order_id: 32035 acquisition_date: 1718703568 ancestor_id: 32035 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 150 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 179 main_product_quantity: 30 next_subscription_product: 'Generic Cialis Daily, 2.5mg (Tadalafil)' next_subscription_product_id: 179 offer_id: 34 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 199.94 parent_id: 32035 prepaid_match: 'No' preserve_gateway: 0 product_id: 179 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 'Not Shipped' shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560991937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1718703568 created_at: '2024-06-18T05:39:28.000000Z' updated_at: null - order_id: 32135 acquisition_date: 1718703568 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 06/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560881937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1718703568 created_at: '2024-06-18T05:39:28.000000Z' updated_at: null - order_id: 32935 acquisition_date: 1718703568 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 150 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: DECLINE decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 179 main_product_quantity: 30 next_subscription_product: 'Generic Cialis Daily, 2.5mg (Tadalafil)' next_subscription_product_id: 179 offer_id: 34 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 7 order_total: 199.94 parent_id: 32035 prepaid_match: 'No' preserve_gateway: 0 product_id: 179 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 'Not Shipped' shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1718703568 created_at: '2024-06-18T05:39:28.000000Z' updated_at: null meta: current_page: 1 per_page: 25 total: 12 last_page: 1 from: 1 to: 12 links: first: 'http://localhost/api/v1/orders?page=1' last: 'http://localhost/api/v1/orders?page=1' prev: null next: null version: v1 properties: success: type: boolean example: true message: type: string example: 'Orders retrieved successfully' data: type: array example: - order_id: 32008 acquisition_date: 1707598571 ancestor_id: 32008 affiliate: home afid: '' sid: '' affid: home c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: '485868' billing_address_id: null billing_first_name: John billing_last_name: Doe_Shipped billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: CA billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 150 cc_expires: 926 cc_first_6: 514300 cc_last_4: 3367 cc_number: 3367 credit_card_number: '514300******3367' cc_orig_first_6: 514300 cc_orig_last_4: 3367 cc_type: master chargeback_date: '0000-00-00' check_account_last_4: 0 check_routing_last_4: 0 check_ssn_last_4: 0 check_transitnum: '' child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22008 customers_telephone: '3072727045' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: dylan+shipped@lifemd.com first_name: John fulfillment_status: Completed gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 173.205.178.8 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 0 is_void: 0 last_name: Doe_Shipped main_product_id: 142 main_product_quantity: 6 next_subscription_product: '50mg Auth Generic Viagra' next_subscription_product_id: 142 offer_id: 34 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 60 parent_id: 32008 prepaid_match: 'No' preserve_gateway: 1 product_id: 142 processor_id: jpmorganrexmd rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '2026-03-10' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 02/10/2025 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: null shipping_first_name: John shipping_last_name: Doe_Shipped shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: CA shipping_postcode: 82426 shipping_country: US sub_affiliate: '' tracking_number: '9400111206239485422142' transaction_id: '9203565742' upsell_product_id: 0 upsell_product_quantity: 0 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: null hidden: false payment_id: null archived: 1 time_stamp: 1707598571 created_at: '2025-12-04T19:26:56.000000Z' updated_at: null - order_id: 32108 acquisition_date: 1715392165 ancestor_id: 32008 affiliate: home afid: '' sid: '' affid: home c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: '485868' billing_address_id: null billing_first_name: John billing_last_name: Doe_Shipped billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: CA billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 150 cc_expires: 926 cc_first_6: 514300 cc_last_4: 3367 cc_number: 3367 credit_card_number: '514300******3367' cc_orig_first_6: 514300 cc_orig_last_4: 3367 cc_type: master chargeback_date: '0000-00-00' check_account_last_4: 0 check_routing_last_4: 0 check_ssn_last_4: 0 check_transitnum: '' child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22008 customers_telephone: '3072727045' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: dylan+shipped@lifemd.com first_name: John fulfillment_status: Completed gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 173.205.178.8 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 0 is_void: 0 last_name: Doe_Shipped main_product_id: 142 main_product_quantity: 6 next_subscription_product: '50mg Auth Generic Viagra' next_subscription_product_id: 142 offer_id: 34 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 11 order_total: 60 parent_id: 32008 prepaid_match: 'No' preserve_gateway: 1 product_id: 142 processor_id: jpmorganrexmd rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '2026-03-10' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 02/10/2025 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: null shipping_first_name: John shipping_last_name: Doe_Shipped shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: CA shipping_postcode: 82426 shipping_country: US sub_affiliate: '' tracking_number: '941497575751948542555' transaction_id: '9203565742' upsell_product_id: 0 upsell_product_quantity: 0 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: null hidden: false payment_id: null archived: 0 time_stamp: 1715392165 created_at: '2025-12-04T19:26:56.000000Z' updated_at: null - order_id: 32835 acquisition_date: 1737254731 ancestor_id: 32035 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: DECLINE decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 7 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 'Not Shipped' shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1737254731 created_at: '2025-01-18T21:45:31.000000Z' updated_at: null - order_id: 32735 acquisition_date: 1734576331 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 12/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560221937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1734576331 created_at: '2024-12-18T21:45:31.000000Z' updated_at: null - order_id: 32635 acquisition_date: 1731984331 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 11/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560331937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1731984331 created_at: '2024-11-18T21:45:31.000000Z' updated_at: null - order_id: 32535 acquisition_date: 1729302331 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 10/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560441937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1729302331 created_at: '2024-10-18T21:45:31.000000Z' updated_at: null - order_id: 32435 acquisition_date: 1726710331 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 09/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560551937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1726710331 created_at: '2024-09-18T21:45:31.000000Z' updated_at: null - order_id: 32335 acquisition_date: 1724031931 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 08/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560661937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1724031931 created_at: '2024-08-18T21:45:31.000000Z' updated_at: null - order_id: 32235 acquisition_date: 1721353531 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 07/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560771937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1721353531 created_at: '2024-07-18T21:45:31.000000Z' updated_at: null - order_id: 32035 acquisition_date: 1718703568 ancestor_id: 32035 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 150 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 179 main_product_quantity: 30 next_subscription_product: 'Generic Cialis Daily, 2.5mg (Tadalafil)' next_subscription_product_id: 179 offer_id: 34 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 199.94 parent_id: 32035 prepaid_match: 'No' preserve_gateway: 0 product_id: 179 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 'Not Shipped' shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560991937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1718703568 created_at: '2024-06-18T05:39:28.000000Z' updated_at: null - order_id: 32135 acquisition_date: 1718703568 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 257 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: '' decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 547 main_product_quantity: 1 next_subscription_product: Semaglutide next_subscription_product_id: 547 offer_id: 172 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 8 order_total: 650 parent_id: 32135 prepaid_match: 'No' preserve_gateway: 0 product_id: 547 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 06/20/2024 shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '9400111899560881937023' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1718703568 created_at: '2024-06-18T05:39:28.000000Z' updated_at: null - order_id: 32935 acquisition_date: 1718703568 ancestor_id: 32135 affiliate: '' afid: '' sid: '' affid: '' c1: '' c2: '' c3: '' aid: '' opt: '' amount_refunded_to_date: 0 auth_id: 'Not Available' billing_address_id: 1 billing_first_name: John billing_last_name: Doe_Multi_WL billing_street_address: '5882 Bolsa Ave Suite 100' billing_street_address2: '' billing_city: 'Huntington Beach' billing_state: CA billing_state_id: null billing_postcode: '92649' billing_country: US billing_cycle: 0 billing_model_id: 14 campaign_id: 150 cc_expires: 327 cc_first_6: 144444 cc_last_4: 4445 cc_number: 4445 credit_card_number: '144444******4445' cc_orig_first_6: 144444 cc_orig_last_4: 4445 cc_type: visa chargeback_date: '0000-00-00' check_account_last_4: null check_routing_last_4: null check_ssn_last_4: null check_transitnum: null child_id: 0 click_id: '' created_by_user_name: api-adminportal created_by_employee_name: 'Admin Portal' coupon_discount_amount: 0 coupon_id: 0 credit_applied: 0 promo_code: '0' customer_id: 22035 customers_telephone: '9856375978' decline_salvage_discount_percent: 0 decline_reason: DECLINE decline_reason_details: '' decline_offer_expire_date: null email_address: jon.p+798@lifemd.com first_name: John fulfillment_status: Pending gateway_id: 66 gateway_descriptor: 'Rex MD' hold_date: '0000-00-00' ip_address: 37.19.196.158 is_blacklisted: 0 is_chargeback: 0 is_fraud: 0 is_recurring: 1 is_refund: 0 is_rma: 0 is_test_cc: 1 is_void: 0 last_name: Doe_Multi_WL main_product_id: 179 main_product_quantity: 30 next_subscription_product: 'Generic Cialis Daily, 2.5mg (Tadalafil)' next_subscription_product_id: 179 offer_id: 34 on_hold: 0 on_hold_by: '' order_confirmed: NO_STATUS order_confirmed_date: '0000-00-00' order_sales_tax: 0 order_sales_tax_amount: 0 shipping_amount: 0 order_status: 7 order_total: 199.94 parent_id: 32035 prepaid_match: 'No' preserve_gateway: 0 product_id: 179 processor_id: '' rebill_discount_percent: 0 rebill_discount_is_one_time: true current_rebill_discount_percent: 0 recurring_date: '0000-00-00' refund_amount: 0 refund_date: '0000-00-00' retry_date: '0000-00-00' return_id: null rma_id: null rma_number: '' rma_reason: '' shipping_date: 'Not Shipped' shipping_id: 24 shipping_method_name: 'Free Shipping, USPS Priority' shipping_address_id: 1 shipping_first_name: Test shipping_last_name: Test shipping_street_address: '5882 Bolsa Ave Suite 100' shipping_street_address2: '' shipping_city: 'Huntington Beach' shipping_state: CA shipping_state_id: null shipping_postcode: 92649 shipping_country: US sub_affiliate: '' tracking_number: '' transaction_id: 'Not Available' upsell_product_id: 262 upsell_product_quantity: 1 void_amount: 0 void_date: '0000-00-00' shippable: 1 website_received: '' website_sent: '' is_cascaded: 0 custom_fields: '' is_initial: true is_rebill_preauth: 0 is_gift: 0 pharmacy: HB last_order_pharmacy: '' hidden: false payment_id: 1 archived: 0 time_stamp: 1718703568 created_at: '2024-06-18T05:39:28.000000Z' updated_at: null items: type: object properties: order_id: type: integer example: 32008 acquisition_date: type: integer example: 1707598571 ancestor_id: type: integer example: 32008 affiliate: type: string example: home afid: type: string example: '' sid: type: string example: '' affid: type: string example: home c1: type: string example: '' c2: type: string example: '' c3: type: string example: '' aid: type: string example: '' opt: type: string example: '' amount_refunded_to_date: type: integer example: 0 auth_id: type: string example: '485868' billing_address_id: type: string example: null nullable: true billing_first_name: type: string example: John billing_last_name: type: string example: Doe_Shipped billing_street_address: type: string example: '5882 Bolsa Ave Suite 100' billing_street_address2: type: string example: '' billing_city: type: string example: 'Huntington Beach' billing_state: type: string example: CA billing_state_id: type: string example: CA billing_postcode: type: string example: '92649' billing_country: type: string example: US billing_cycle: type: integer example: 0 billing_model_id: type: integer example: 14 campaign_id: type: integer example: 150 cc_expires: type: integer example: 926 cc_first_6: type: integer example: 514300 cc_last_4: type: integer example: 3367 cc_number: type: integer example: 3367 credit_card_number: type: string example: '514300******3367' cc_orig_first_6: type: integer example: 514300 cc_orig_last_4: type: integer example: 3367 cc_type: type: string example: master chargeback_date: type: string example: '0000-00-00' check_account_last_4: type: integer example: 0 check_routing_last_4: type: integer example: 0 check_ssn_last_4: type: integer example: 0 check_transitnum: type: string example: '' child_id: type: integer example: 0 click_id: type: string example: '' created_by_user_name: type: string example: api-adminportal created_by_employee_name: type: string example: 'Admin Portal' coupon_discount_amount: type: integer example: 0 coupon_id: type: integer example: 0 credit_applied: type: integer example: 0 promo_code: type: string example: '0' customer_id: type: integer example: 22008 customers_telephone: type: string example: '3072727045' decline_salvage_discount_percent: type: integer example: 0 decline_reason: type: string example: '' decline_reason_details: type: string example: '' decline_offer_expire_date: type: string example: null nullable: true email_address: type: string example: dylan+shipped@lifemd.com first_name: type: string example: John fulfillment_status: type: string example: Completed gateway_id: type: integer example: 66 gateway_descriptor: type: string example: 'Rex MD' hold_date: type: string example: '0000-00-00' ip_address: type: string example: 173.205.178.8 is_blacklisted: type: integer example: 0 is_chargeback: type: integer example: 0 is_fraud: type: integer example: 0 is_recurring: type: integer example: 1 is_refund: type: integer example: 0 is_rma: type: integer example: 0 is_test_cc: type: integer example: 0 is_void: type: integer example: 0 last_name: type: string example: Doe_Shipped main_product_id: type: integer example: 142 main_product_quantity: type: integer example: 6 next_subscription_product: type: string example: '50mg Auth Generic Viagra' next_subscription_product_id: type: integer example: 142 offer_id: type: integer example: 34 on_hold: type: integer example: 0 on_hold_by: type: string example: '' order_confirmed: type: string example: NO_STATUS order_confirmed_date: type: string example: '0000-00-00' order_sales_tax: type: integer example: 0 order_sales_tax_amount: type: integer example: 0 shipping_amount: type: integer example: 0 order_status: type: integer example: 8 order_total: type: integer example: 60 parent_id: type: integer example: 32008 prepaid_match: type: string example: 'No' preserve_gateway: type: integer example: 1 product_id: type: integer example: 142 processor_id: type: string example: jpmorganrexmd rebill_discount_percent: type: integer example: 0 rebill_discount_is_one_time: type: boolean example: true current_rebill_discount_percent: type: integer example: 0 recurring_date: type: string example: '2026-03-10' refund_amount: type: integer example: 0 refund_date: type: string example: '0000-00-00' retry_date: type: string example: '0000-00-00' return_id: type: string example: null nullable: true rma_id: type: string example: null nullable: true rma_number: type: string example: '' rma_reason: type: string example: '' shipping_date: type: string example: 02/10/2025 shipping_id: type: integer example: 24 shipping_method_name: type: string example: 'Free Shipping, USPS Priority' shipping_address_id: type: string example: null nullable: true shipping_first_name: type: string example: John shipping_last_name: type: string example: Doe_Shipped shipping_street_address: type: string example: '5882 Bolsa Ave Suite 100' shipping_street_address2: type: string example: '' shipping_city: type: string example: 'Huntington Beach' shipping_state: type: string example: CA shipping_state_id: type: string example: CA shipping_postcode: type: integer example: 82426 shipping_country: type: string example: US sub_affiliate: type: string example: '' tracking_number: type: string example: '9400111206239485422142' transaction_id: type: string example: '9203565742' upsell_product_id: type: integer example: 0 upsell_product_quantity: type: integer example: 0 void_amount: type: integer example: 0 void_date: type: string example: '0000-00-00' shippable: type: integer example: 1 website_received: type: string example: '' website_sent: type: string example: '' is_cascaded: type: integer example: 0 custom_fields: type: string example: '' is_initial: type: boolean example: true is_rebill_preauth: type: integer example: 0 is_gift: type: integer example: 0 pharmacy: type: string example: HB last_order_pharmacy: type: string example: null nullable: true hidden: type: boolean example: false payment_id: type: string example: null nullable: true archived: type: integer example: 1 time_stamp: type: integer example: 1707598571 created_at: type: string example: '2025-12-04T19:26:56.000000Z' updated_at: type: string example: null nullable: true meta: type: object properties: current_page: type: integer example: 1 per_page: type: integer example: 25 total: type: integer example: 12 last_page: type: integer example: 1 from: type: integer example: 1 to: type: integer example: 12 links: type: object properties: first: type: string example: 'http://localhost/api/v1/orders?page=1' last: type: string example: 'http://localhost/api/v1/orders?page=1' prev: type: string example: null nullable: true next: type: string example: null nullable: true version: type: string example: v1 tags: - Orders '/api/v1/orders/{orderId}': get: summary: 'Show a single order with products and notes' operationId: showASingleOrderWithProductsAndNotes description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true message: 'Order retrieved successfully' data: orderId: '32008' orderStatus: '8' orderTotal: '60.00' transactionId: '9203565742' authId: '485868' declineReason: '' campaignId: '150' customerId: '22008' gatewayId: '66' gatewayDescriptor: 'Rex MD' prepaidMatch: 'No' ccLast4: '3367' ccFirst6: '514300' ccType: master firstName: John lastName: Doe_Shipped emailAddress: dylan+shipped@lifemd.com phone: '3072727045' ipAddress: 173.205.178.8 billingAddress: firstName: John lastName: Doe_Shipped address1: '5882 Bolsa Ave Suite 100' address2: '' city: 'Huntington Beach' state: CA zip: '92649' country: US shippingAddress: firstName: John lastName: Doe_Shipped address1: '5882 Bolsa Ave Suite 100' address2: '' city: 'Huntington Beach' state: CA zip: 82426 country: US products: - productId: '142' offerId: '34' billingModelId: '14' name: '50mg Auth Generic Viagra' sku: '100011' price: '10.00' productQty: '6' lineTotal: '60.00' isRecurring: '1' recurringDate: '2026-02-01' subscriptionId: e2ba60adc8ecd4d3db80320edc132008 isAddOn: '0' isInTrial: '0' isShippable: '1' onHold: '0' holdDate: '0000-00-00' totals_breakdown: subtotal: '0.00' discount: '0.00' shipping: '0.00' tax: '0.00' total: '60.00' onHold: '0' fulfillmentStatus: Completed acquisitionDate: '1707598571' dateCreated: '2025-12-04 19:26:56' dateUpdated: '' version: v1 properties: success: type: boolean example: true message: type: string example: 'Order retrieved successfully' data: type: object properties: orderId: type: string example: '32008' orderStatus: type: string example: '8' orderTotal: type: string example: '60.00' transactionId: type: string example: '9203565742' authId: type: string example: '485868' declineReason: type: string example: '' campaignId: type: string example: '150' customerId: type: string example: '22008' gatewayId: type: string example: '66' gatewayDescriptor: type: string example: 'Rex MD' prepaidMatch: type: string example: 'No' ccLast4: type: string example: '3367' ccFirst6: type: string example: '514300' ccType: type: string example: master firstName: type: string example: John lastName: type: string example: Doe_Shipped emailAddress: type: string example: dylan+shipped@lifemd.com phone: type: string example: '3072727045' ipAddress: type: string example: 173.205.178.8 billingAddress: type: object properties: firstName: type: string example: John lastName: type: string example: Doe_Shipped address1: type: string example: '5882 Bolsa Ave Suite 100' address2: type: string example: '' city: type: string example: 'Huntington Beach' state: type: string example: CA zip: type: string example: '92649' country: type: string example: US shippingAddress: type: object properties: firstName: type: string example: John lastName: type: string example: Doe_Shipped address1: type: string example: '5882 Bolsa Ave Suite 100' address2: type: string example: '' city: type: string example: 'Huntington Beach' state: type: string example: CA zip: type: integer example: 82426 country: type: string example: US products: type: array example: - productId: '142' offerId: '34' billingModelId: '14' name: '50mg Auth Generic Viagra' sku: '100011' price: '10.00' productQty: '6' lineTotal: '60.00' isRecurring: '1' recurringDate: '2026-02-01' subscriptionId: e2ba60adc8ecd4d3db80320edc132008 isAddOn: '0' isInTrial: '0' isShippable: '1' onHold: '0' holdDate: '0000-00-00' items: type: object properties: productId: type: string example: '142' offerId: type: string example: '34' billingModelId: type: string example: '14' name: type: string example: '50mg Auth Generic Viagra' sku: type: string example: '100011' price: type: string example: '10.00' productQty: type: string example: '6' lineTotal: type: string example: '60.00' isRecurring: type: string example: '1' recurringDate: type: string example: '2026-02-01' subscriptionId: type: string example: e2ba60adc8ecd4d3db80320edc132008 isAddOn: type: string example: '0' isInTrial: type: string example: '0' isShippable: type: string example: '1' onHold: type: string example: '0' holdDate: type: string example: '0000-00-00' totals_breakdown: type: object properties: subtotal: type: string example: '0.00' discount: type: string example: '0.00' shipping: type: string example: '0.00' tax: type: string example: '0.00' total: type: string example: '60.00' onHold: type: string example: '0' fulfillmentStatus: type: string example: Completed acquisitionDate: type: string example: '1707598571' dateCreated: type: string example: '2025-12-04 19:26:56' dateUpdated: type: string example: '' version: type: string example: v1 tags: - Orders patch: summary: 'Update order fields (status, hold, shipping, notes)' operationId: updateOrderFieldsstatusHoldShippingNotes description: '' parameters: [] responses: { } tags: - Orders requestBody: required: false content: application/json: schema: type: object properties: order_status: type: string description: '' example: declined enum: - pending - approved - declined - voided - refunded - on_hold nullable: true fulfillment_status: type: string description: '' example: blocked enum: - pending - eligible - blocked - sent - complete nullable: true shipping_id: type: integer description: '' example: 16 nullable: true shipping_method_name: type: string description: 'Must not be greater than 50 characters.' example: 'n' nullable: true tracking_number: type: string description: 'Must not be greater than 40 characters.' example: g nullable: true note: type: string description: 'Must not be greater than 1000 characters.' example: z nullable: true parameters: - in: path name: orderId description: '' example: 32008 required: true schema: type: integer '/api/v1/orders/{orderId}/void': post: summary: 'Void an order' operationId: voidAnOrder description: '' parameters: [] responses: { } tags: - Orders parameters: - in: path name: orderId description: '' example: 32008 required: true schema: type: integer '/api/v1/orders/{orderId}/refund': post: summary: 'Refund an order' operationId: refundAnOrder description: '' parameters: [] responses: { } tags: - Orders requestBody: required: false content: application/json: schema: type: object properties: amount: type: number description: 'Must be at least 0.01.' example: 27 nullable: true reason: type: string description: 'Must not be greater than 255 characters.' example: 'n' nullable: true parameters: - in: path name: orderId description: '' example: 32008 required: true schema: type: integer '/api/v1/orders/{orderId}/hold': post: summary: 'Place order on hold' operationId: placeOrderOnHold description: '' parameters: [] responses: { } tags: - Orders parameters: - in: path name: orderId description: '' example: 32008 required: true schema: type: integer '/api/v1/orders/{orderId}/unhold': post: summary: 'Remove hold from order' operationId: removeHoldFromOrder description: '' parameters: [] responses: { } tags: - Orders parameters: - in: path name: orderId description: '' example: 32008 required: true schema: type: integ