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