Download OpenAPI specification:
API for creating/managing supplements orders within the DailyStak platform.
This API uses OAuth 2.0 Client Credentials flow. To obtain an access token:
Token Endpoints:
https://auth.fulfillment.sandbox.juniperhealth.com/oauth2/tokenhttps://auth.fulfillment.juniperhealth.com/oauth2/tokenRequest:
POST /oauth2/token
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET
Response:
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 3600,
"token_type": "Bearer"
}
Include the token in API requests using the Authorization header:
Authorization: Bearer YOUR_ACCESS_TOKEN
Submit a new customer order with product line items and shipping details
Order details to be created in the system
required | object Customer information for the order | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
| daysSupply required | integer Enum: 30 60 90 Number of days the order is intended to supply | ||||||||||||||||||||||||
required | Array of objects non-empty Products included in the order | ||||||||||||||||||||||||
Array (non-empty)
| |||||||||||||||||||||||||
| shippingMethod required | string Enum: "STANDARD" "EXPRESS" "OVERNIGHT" Shipping method for the order | ||||||||||||||||||||||||
| orderType required | string Enum: "ONE_TIME" "SUBSCRIPTION" Type of order (this is currently only used for inventory forecasting by DailyStak) | ||||||||||||||||||||||||
| id | string Unique order identifier | ||||||||||||||||||||||||
| discount | string Discount percentage applied to the order | ||||||||||||||||||||||||
| daysSupply | integer Number of days the order is intended to supply | ||||||||||||||||||||||||
| orderType | string Enum: "ONE_TIME" "SUBSCRIPTION" Order type (one-time or subscription) | ||||||||||||||||||||||||
| shippingMethod | string Enum: "STANDARD" "EXPRESS" "OVERNIGHT" Selected shipping method | ||||||||||||||||||||||||
| status | string Enum: "NEW" "PROCESSING" "DISPENSING" "FILLED" "FULFILLED" "AWAITING_SHIPMENT" "SHIPPED" "DELIVERED" "CANCELLED" Current status of the order | ||||||||||||||||||||||||
object or null Details about the order fulfillment process. The object itself is null until the order has shipped, and individual fields are null until the carrier provides them. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Array of objects Products included in the order | |||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||
object (Customer) Customer information | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| subtotalPrice | string Order subtotal amount | ||||||||||||||||||||||||
| totalDiscount | string Total discount amount applied to the order | ||||||||||||||||||||||||
| totalFees | string Total for handling fees on external products. Each external item has a $5 handling fee. | ||||||||||||||||||||||||
| totalShipping | string Shipping cost | ||||||||||||||||||||||||
| totalVolumeDiscount | string Additional discount as for purchasing a days supply over the specified volume discount limits. | ||||||||||||||||||||||||
| totalPrice | string Total order amount (subtotal + shipping) | ||||||||||||||||||||||||
| createdAt | string <date-time> Order creation timestamp | ||||||||||||||||||||||||
| updatedAt | string <date-time> Order last update timestamp | ||||||||||||||||||||||||
{- "customer": {
- "sourceId": "1234567890",
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phone": "1234567890",
- "address": {
- "line1": "437 Lytton",
- "line2": "Suite 100",
- "city": "Palo Alto",
- "state": "CA",
- "zipCode": "94301"
}
}, - "daysSupply": 30,
- "lineItems": [
- {
- "productId": 77123129891,
- "quantity": 2,
- "packDescription": "Whole Body Wellness",
- "administration": {
- "morning": 1,
- "afternoon": 0,
- "evening": 1,
- "sleep": 0
}
}
], - "shippingMethod": "STANDARD",
- "orderType": "ONE_TIME"
}{- "id": "2vSGym0bH8qVEwCIGlyFoRgJq1A",
- "discount": "10%",
- "daysSupply": 30,
- "orderType": "SUBSCRIPTION",
- "shippingMethod": "STANDARD",
- "status": "NEW",
- "fulfillmentInfo": {
- "carrier": "UPS",
- "trackingNumber": "1Z9999999999999999",
- "trackingStatus": "InTransit",
- "checkpoints": [
- {
- "checkpointTime": "2023-10-03T09:15:00Z",
- "location": "Chicago, IL, USA",
- "message": "Package arrived at facility",
- "tag": "InTransit"
}
]
}, - "lineItems": [
- {
- "productId": 77123129891,
- "name": "Elite EPA",
- "quantity": 2,
- "packDescription": "Whole Body Wellness",
- "price": "0.37",
- "discountedPrice": "0.33",
- "totalPrice": "29.70",
- "external": false,
- "administration": {
- "morning": 1,
- "afternoon": 0,
- "evening": 1,
- "sleep": 0
}
}
], - "customer": {
- "sourceId": "1234567890",
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phone": "1234567890",
- "address": {
- "line1": "437 Lytton",
- "line2": "Suite 100",
- "city": "Palo Alto",
- "state": "CA",
- "zipCode": "94301"
}
}, - "subtotalPrice": "30.00",
- "totalDiscount": "27.00",
- "totalFees": "5.00",
- "totalShipping": "9.99",
- "totalVolumeDiscount": "12.10",
- "totalPrice": "36.99",
- "createdAt": "2023-10-01T12:00:00Z",
- "updatedAt": "2023-10-01T12:00:00Z"
}Retrieve a list of orders with optional filtering
| limit | integer [ 1 .. 100 ] Default: 10 Maximum number of results per page |
| cursor | string Pagination cursor for retrieving next/previous page |
| direction | string Enum: "next" "previous" Direction for pagination (next or previous) |
| status | string Enum: "NEW" "PROCESSING" "DISPENSING" "FILLED" "FULFILLED" "AWAITING_SHIPMENT" "SHIPPED" "DELIVERED" "CANCELLED" Filter orders by status |
| search | string Example: search=John Doe Fuzzy search orders by customer name |
Array of objects (Order) | |||||||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||||||
| cursor | string or null (Cursor) Pagination cursor for retrieving next/previous page. Null when there are no more pages in the requested direction. | ||||||||||||||||||||||||||||||||||
{- "orders": [
- {
- "id": "2vSGym0bH8qVEwCIGlyFoRgJq1A",
- "discount": "10%",
- "daysSupply": 30,
- "orderType": "SUBSCRIPTION",
- "shippingMethod": "STANDARD",
- "status": "NEW",
- "fulfillmentInfo": {
- "carrier": "UPS",
- "trackingNumber": "1Z9999999999999999",
- "trackingStatus": "InTransit",
- "checkpoints": [
- {
- "checkpointTime": "2023-10-03T09:15:00Z",
- "location": "Chicago, IL, USA",
- "message": "Package arrived at facility",
- "tag": "InTransit"
}
]
}, - "lineItems": [
- {
- "productId": 77123129891,
- "name": "Elite EPA",
- "quantity": 2,
- "packDescription": "Whole Body Wellness",
- "price": "0.37",
- "discountedPrice": "0.33",
- "totalPrice": "29.70",
- "external": false,
- "administration": {
- "morning": 1,
- "afternoon": 0,
- "evening": 1,
- "sleep": 0
}
}
], - "customer": {
- "sourceId": "1234567890",
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phone": "1234567890",
- "address": {
- "line1": "437 Lytton",
- "line2": "Suite 100",
- "city": "Palo Alto",
- "state": "CA",
- "zipCode": "94301"
}
}, - "subtotalPrice": "30.00",
- "totalDiscount": "27.00",
- "totalFees": "5.00",
- "totalShipping": "9.99",
- "totalVolumeDiscount": "12.10",
- "totalPrice": "36.99",
- "createdAt": "2023-10-01T12:00:00Z",
- "updatedAt": "2023-10-01T12:00:00Z"
}
], - "cursor": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Get detailed information for a specific order
| orderId required | string Example: 2vSGym0bH8qVEwCIGlyFoRgJq1A |
| id | string Unique order identifier | ||||||||||||||||||||||||
| discount | string Discount percentage applied to the order | ||||||||||||||||||||||||
| daysSupply | integer Number of days the order is intended to supply | ||||||||||||||||||||||||
| orderType | string Enum: "ONE_TIME" "SUBSCRIPTION" Order type (one-time or subscription) | ||||||||||||||||||||||||
| shippingMethod | string Enum: "STANDARD" "EXPRESS" "OVERNIGHT" Selected shipping method | ||||||||||||||||||||||||
| status | string Enum: "NEW" "PROCESSING" "DISPENSING" "FILLED" "FULFILLED" "AWAITING_SHIPMENT" "SHIPPED" "DELIVERED" "CANCELLED" Current status of the order | ||||||||||||||||||||||||
object or null Details about the order fulfillment process. The object itself is null until the order has shipped, and individual fields are null until the carrier provides them. | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
Array of objects Products included in the order | |||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||
object (Customer) Customer information | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| subtotalPrice | string Order subtotal amount | ||||||||||||||||||||||||
| totalDiscount | string Total discount amount applied to the order | ||||||||||||||||||||||||
| totalFees | string Total for handling fees on external products. Each external item has a $5 handling fee. | ||||||||||||||||||||||||
| totalShipping | string Shipping cost | ||||||||||||||||||||||||
| totalVolumeDiscount | string Additional discount as for purchasing a days supply over the specified volume discount limits. | ||||||||||||||||||||||||
| totalPrice | string Total order amount (subtotal + shipping) | ||||||||||||||||||||||||
| createdAt | string <date-time> Order creation timestamp | ||||||||||||||||||||||||
| updatedAt | string <date-time> Order last update timestamp | ||||||||||||||||||||||||
{- "id": "2vSGym0bH8qVEwCIGlyFoRgJq1A",
- "discount": "10%",
- "daysSupply": 30,
- "orderType": "SUBSCRIPTION",
- "shippingMethod": "STANDARD",
- "status": "NEW",
- "fulfillmentInfo": {
- "carrier": "UPS",
- "trackingNumber": "1Z9999999999999999",
- "trackingStatus": "InTransit",
- "checkpoints": [
- {
- "checkpointTime": "2023-10-03T09:15:00Z",
- "location": "Chicago, IL, USA",
- "message": "Package arrived at facility",
- "tag": "InTransit"
}
]
}, - "lineItems": [
- {
- "productId": 77123129891,
- "name": "Elite EPA",
- "quantity": 2,
- "packDescription": "Whole Body Wellness",
- "price": "0.37",
- "discountedPrice": "0.33",
- "totalPrice": "29.70",
- "external": false,
- "administration": {
- "morning": 1,
- "afternoon": 0,
- "evening": 1,
- "sleep": 0
}
}
], - "customer": {
- "sourceId": "1234567890",
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phone": "1234567890",
- "address": {
- "line1": "437 Lytton",
- "line2": "Suite 100",
- "city": "Palo Alto",
- "state": "CA",
- "zipCode": "94301"
}
}, - "subtotalPrice": "30.00",
- "totalDiscount": "27.00",
- "totalFees": "5.00",
- "totalShipping": "9.99",
- "totalVolumeDiscount": "12.10",
- "totalPrice": "36.99",
- "createdAt": "2023-10-01T12:00:00Z",
- "updatedAt": "2023-10-01T12:00:00Z"
}Cancel a partner-managed order that has not been dispensed. Cancelling never refunds. The order must be PARTNER_MANAGED (the billing mode frozen on it, or for a legacy order your account's current mode), NEW or PROCESSING with no fill order dispensed, unlabelled, not on an invoice, and carry no Shopify or DailyStak payment. Otherwise the answer is 409 with the rule in reason; a JUNIPER_MANAGED order is refused with "Contact DailyStak support to cancel this order."
| orderId required | string Example: 2vTgd30JFgnwLrgb383PcV9Rken |
| orderId | string ID of the cancelled order |
| status | string Order status |
{- "orderId": "2vTYQiGzufR4cn1cloW97DtSOYF",
- "status": "CANCELLED"
}Create a reusable order protocol/template with customer information, product line items, and shipping details. Protocols can be used to quickly generate orders with pre-configured settings.
required | object Customer information for the protocol | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
| daysSupply required | integer Enum: 30 60 90 Number of days the protocol is intended to supply | ||||||||||||||||||||||||
required | Array of objects non-empty Products included in the protocol | ||||||||||||||||||||||||
Array (non-empty)
| |||||||||||||||||||||||||
| shippingMethod required | string Enum: "STANDARD" "EXPRESS" "OVERNIGHT" Shipping method for the protocol | ||||||||||||||||||||||||
| orderType required | string Enum: "ONE_TIME" "SUBSCRIPTION" Order type | ||||||||||||||||||||||||
| id | string Unique protocol identifier | ||||||||||||||||||||||||
object (Customer) Customer information | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| daysSupply | integer or null Number of days the protocol is intended to supply. Nullable: protocols created via flows where days-supply lives on the subscription (not the protocol) return null here. | ||||||||||||||||||||||||
| orderType | string or null Enum: "ONE_TIME" "SUBSCRIPTION" Order type (one-time or subscription). Nullable: protocols created via flows where the order type is decided at checkout time return null here. | ||||||||||||||||||||||||
| shippingMethod | string or null Enum: "STANDARD" "EXPRESS" "OVERNIGHT" Selected shipping method. Nullable: protocols created via flows where shipping is decided on the subscription return null here. | ||||||||||||||||||||||||
| discount | string or null Discount percentage applied | ||||||||||||||||||||||||
Array of objects Products included in the protocol | |||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||
| subtotalPrice | string or null Protocol subtotal amount. Nullable: pricing is computed at checkout time for protocols created via modern flows. | ||||||||||||||||||||||||
| totalDiscount | string or null Total discount amount | ||||||||||||||||||||||||
| totalFees | string or null Total handling fees for external products | ||||||||||||||||||||||||
| totalVolumeDiscount | string or null Additional volume discount | ||||||||||||||||||||||||
| totalShipping | string or null Shipping cost | ||||||||||||||||||||||||
| totalPrice | string or null Total protocol amount | ||||||||||||||||||||||||
| createdAt | string <date-time> Protocol creation timestamp | ||||||||||||||||||||||||
| updatedAt | string <date-time> Protocol last update timestamp | ||||||||||||||||||||||||
{- "customer": {
- "sourceId": "1234567890",
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phone": "1234567890",
- "address": {
- "line1": "437 Lytton",
- "line2": "Suite 100",
- "city": "Palo Alto",
- "state": "CA",
- "zipCode": "94301"
}
}, - "daysSupply": 30,
- "lineItems": [
- {
- "productId": 77123129891,
- "quantity": 2,
- "packDescription": "Whole Body Wellness",
- "administration": {
- "morning": 1,
- "afternoon": 0,
- "evening": 1,
- "sleep": 0
}
}
], - "shippingMethod": "STANDARD",
- "orderType": "SUBSCRIPTION"
}{- "id": "2vSGym0bH8qVEwCIGlyFoRgJq1A",
- "customer": {
- "sourceId": "1234567890",
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phone": "1234567890",
- "address": {
- "line1": "437 Lytton",
- "line2": "Suite 100",
- "city": "Palo Alto",
- "state": "CA",
- "zipCode": "94301"
}
}, - "daysSupply": 30,
- "orderType": "SUBSCRIPTION",
- "shippingMethod": "STANDARD",
- "discount": "10%",
- "lineItems": [
- {
- "productId": 77123129891,
- "name": "Elite EPA",
- "quantity": 2,
- "packDescription": "Whole Body Wellness",
- "price": "0.37",
- "discountedPrice": "0.33",
- "totalPrice": "29.70",
- "external": false,
- "administration": {
- "morning": 1,
- "afternoon": 0,
- "evening": 1,
- "sleep": 0
}
}
], - "subtotalPrice": "30.00",
- "totalDiscount": "3.00",
- "totalFees": "5.00",
- "totalVolumeDiscount": "0.00",
- "totalShipping": "9.99",
- "totalPrice": "41.99",
- "createdAt": "2023-10-01T12:00:00Z",
- "updatedAt": "2023-10-01T12:00:00Z"
}Retrieve a paginated list of protocols with optional search
| limit | integer [ 1 .. 100 ] Default: 10 Maximum number of results per page |
| cursor | string Pagination cursor for retrieving next/previous page |
| direction | string Enum: "next" "previous" Direction for pagination (next or previous) |
| search | string Example: search=John Doe Search protocols by customer name |
Array of objects (Protocol) | |||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||
| cursor | string or null (Cursor) Pagination cursor for retrieving next/previous page. Null when there are no more pages in the requested direction. | ||||||||||||||||||||||||||||||
{- "protocols": [
- {
- "id": "2vSGym0bH8qVEwCIGlyFoRgJq1A",
- "customer": {
- "sourceId": "1234567890",
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phone": "1234567890",
- "address": {
- "line1": "437 Lytton",
- "line2": "Suite 100",
- "city": "Palo Alto",
- "state": "CA",
- "zipCode": "94301"
}
}, - "daysSupply": 30,
- "orderType": "SUBSCRIPTION",
- "shippingMethod": "STANDARD",
- "discount": "10%",
- "lineItems": [
- {
- "productId": 77123129891,
- "name": "Elite EPA",
- "quantity": 2,
- "packDescription": "Whole Body Wellness",
- "price": "0.37",
- "discountedPrice": "0.33",
- "totalPrice": "29.70",
- "external": false,
- "administration": {
- "morning": 1,
- "afternoon": 0,
- "evening": 1,
- "sleep": 0
}
}
], - "subtotalPrice": "30.00",
- "totalDiscount": "3.00",
- "totalFees": "5.00",
- "totalVolumeDiscount": "0.00",
- "totalShipping": "9.99",
- "totalPrice": "41.99",
- "createdAt": "2023-10-01T12:00:00Z",
- "updatedAt": "2023-10-01T12:00:00Z"
}
], - "cursor": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Retrieve detailed information for a specific protocol
| protocolId required | string Example: 2vTgd30JFgnwLrgb383PcV9Rken |
| id | string Unique protocol identifier | ||||||||||||||||||||||||
object (Customer) Customer information | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| daysSupply | integer or null Number of days the protocol is intended to supply. Nullable: protocols created via flows where days-supply lives on the subscription (not the protocol) return null here. | ||||||||||||||||||||||||
| orderType | string or null Enum: "ONE_TIME" "SUBSCRIPTION" Order type (one-time or subscription). Nullable: protocols created via flows where the order type is decided at checkout time return null here. | ||||||||||||||||||||||||
| shippingMethod | string or null Enum: "STANDARD" "EXPRESS" "OVERNIGHT" Selected shipping method. Nullable: protocols created via flows where shipping is decided on the subscription return null here. | ||||||||||||||||||||||||
| discount | string or null Discount percentage applied | ||||||||||||||||||||||||
Array of objects Products included in the protocol | |||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||
| subtotalPrice | string or null Protocol subtotal amount. Nullable: pricing is computed at checkout time for protocols created via modern flows. | ||||||||||||||||||||||||
| totalDiscount | string or null Total discount amount | ||||||||||||||||||||||||
| totalFees | string or null Total handling fees for external products | ||||||||||||||||||||||||
| totalVolumeDiscount | string or null Additional volume discount | ||||||||||||||||||||||||
| totalShipping | string or null Shipping cost | ||||||||||||||||||||||||
| totalPrice | string or null Total protocol amount | ||||||||||||||||||||||||
| createdAt | string <date-time> Protocol creation timestamp | ||||||||||||||||||||||||
| updatedAt | string <date-time> Protocol last update timestamp | ||||||||||||||||||||||||
{- "id": "2vSGym0bH8qVEwCIGlyFoRgJq1A",
- "customer": {
- "sourceId": "1234567890",
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phone": "1234567890",
- "address": {
- "line1": "437 Lytton",
- "line2": "Suite 100",
- "city": "Palo Alto",
- "state": "CA",
- "zipCode": "94301"
}
}, - "daysSupply": 30,
- "orderType": "SUBSCRIPTION",
- "shippingMethod": "STANDARD",
- "discount": "10%",
- "lineItems": [
- {
- "productId": 77123129891,
- "name": "Elite EPA",
- "quantity": 2,
- "packDescription": "Whole Body Wellness",
- "price": "0.37",
- "discountedPrice": "0.33",
- "totalPrice": "29.70",
- "external": false,
- "administration": {
- "morning": 1,
- "afternoon": 0,
- "evening": 1,
- "sleep": 0
}
}
], - "subtotalPrice": "30.00",
- "totalDiscount": "3.00",
- "totalFees": "5.00",
- "totalVolumeDiscount": "0.00",
- "totalShipping": "9.99",
- "totalPrice": "41.99",
- "createdAt": "2023-10-01T12:00:00Z",
- "updatedAt": "2023-10-01T12:00:00Z"
}Update an existing protocol with new customer, product, or shipping information. While a live subscription (active, past due, paused, failed or awaiting partner) bills the protocol, the update is refused with 409: changes then need the customer's consent, which only the v2 amendment flow can request.
| protocolId required | string Example: 2vTgd30JFgnwLrgb383PcV9Rken |
required | object Customer information for the protocol | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
| daysSupply required | integer Enum: 30 60 90 Number of days the protocol is intended to supply | ||||||||||||||||||||||||
required | Array of objects non-empty Products included in the protocol | ||||||||||||||||||||||||
Array (non-empty)
| |||||||||||||||||||||||||
| shippingMethod required | string Enum: "STANDARD" "EXPRESS" "OVERNIGHT" Shipping method for the protocol | ||||||||||||||||||||||||
| orderType required | string Enum: "ONE_TIME" "SUBSCRIPTION" Order type | ||||||||||||||||||||||||
| id | string Unique protocol identifier | ||||||||||||||||||||||||
object (Customer) Customer information | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| daysSupply | integer or null Number of days the protocol is intended to supply. Nullable: protocols created via flows where days-supply lives on the subscription (not the protocol) return null here. | ||||||||||||||||||||||||
| orderType | string or null Enum: "ONE_TIME" "SUBSCRIPTION" Order type (one-time or subscription). Nullable: protocols created via flows where the order type is decided at checkout time return null here. | ||||||||||||||||||||||||
| shippingMethod | string or null Enum: "STANDARD" "EXPRESS" "OVERNIGHT" Selected shipping method. Nullable: protocols created via flows where shipping is decided on the subscription return null here. | ||||||||||||||||||||||||
| discount | string or null Discount percentage applied | ||||||||||||||||||||||||
Array of objects Products included in the protocol | |||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||
| subtotalPrice | string or null Protocol subtotal amount. Nullable: pricing is computed at checkout time for protocols created via modern flows. | ||||||||||||||||||||||||
| totalDiscount | string or null Total discount amount | ||||||||||||||||||||||||
| totalFees | string or null Total handling fees for external products | ||||||||||||||||||||||||
| totalVolumeDiscount | string or null Additional volume discount | ||||||||||||||||||||||||
| totalShipping | string or null Shipping cost | ||||||||||||||||||||||||
| totalPrice | string or null Total protocol amount | ||||||||||||||||||||||||
| createdAt | string <date-time> Protocol creation timestamp | ||||||||||||||||||||||||
| updatedAt | string <date-time> Protocol last update timestamp | ||||||||||||||||||||||||
{- "customer": {
- "sourceId": "1234567890",
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phone": "1234567890",
- "address": {
- "line1": "437 Lytton",
- "line2": "Suite 100",
- "city": "Palo Alto",
- "state": "CA",
- "zipCode": "94301"
}
}, - "daysSupply": 30,
- "lineItems": [
- {
- "productId": 77123129891,
- "quantity": 2,
- "packDescription": "Whole Body Wellness",
- "administration": {
- "morning": 1,
- "afternoon": 0,
- "evening": 1,
- "sleep": 0
}
}
], - "shippingMethod": "STANDARD",
- "orderType": "SUBSCRIPTION"
}{- "id": "2vSGym0bH8qVEwCIGlyFoRgJq1A",
- "customer": {
- "sourceId": "1234567890",
- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "phone": "1234567890",
- "address": {
- "line1": "437 Lytton",
- "line2": "Suite 100",
- "city": "Palo Alto",
- "state": "CA",
- "zipCode": "94301"
}
}, - "daysSupply": 30,
- "orderType": "SUBSCRIPTION",
- "shippingMethod": "STANDARD",
- "discount": "10%",
- "lineItems": [
- {
- "productId": 77123129891,
- "name": "Elite EPA",
- "quantity": 2,
- "packDescription": "Whole Body Wellness",
- "price": "0.37",
- "discountedPrice": "0.33",
- "totalPrice": "29.70",
- "external": false,
- "administration": {
- "morning": 1,
- "afternoon": 0,
- "evening": 1,
- "sleep": 0
}
}
], - "subtotalPrice": "30.00",
- "totalDiscount": "3.00",
- "totalFees": "5.00",
- "totalVolumeDiscount": "0.00",
- "totalShipping": "9.99",
- "totalPrice": "41.99",
- "createdAt": "2023-10-01T12:00:00Z",
- "updatedAt": "2023-10-01T12:00:00Z"
}Delete an existing protocol
| protocolId required | string Example: 2vTgd30JFgnwLrgb383PcV9Rken |
| protocolId | string ID of the deleted protocol |
| message | string |
{- "protocolId": "2vTgd30JFgnwLrgb383PcV9Rken",
- "message": "Protocol deleted successfully"
}Retrieve paginated list of available products. Products this partner has disabled are excluded unless include_disabled=true. Filters: form and categories match ANY listed value; certifications and allergens (free-from claims) match ALL. Parameters AND together, and with status and the updated range. Unknown values are ignored. A filtered page holds limit products unless the catalog runs out, and cursor is returned only when more products match. Search applies the filters too.
| limit | integer [ 1 .. 100 ] Default: 10 Maximum number of results per page |
| cursor | string Pagination cursor for retrieving next/previous page |
| direction | string Enum: "next" "previous" Direction for pagination (next or previous) |
| status | string Enum: "ACTIVE" "DRAFT" "BACKORDERED" "DISCONTINUED" Filter products by status |
| updatedAfter | string <date> Example: updatedAfter=2023-10-01 Filter products updated after this date |
| updatedBefore | string <date> Example: updatedBefore=2023-10-01 Filter products updated before this date |
| form | string Example: form=Capsule,Veg Capsule Comma-separated product forms; returns products in ANY of them. A value is the stored form (Capsule, Quick-Dissolve Tablet, Powder, Liquid, Serum, Softgel, Tablet, Veg Capsule) or its name (CAPSULE, QUICK_DISSOLVE_TABLET, POWDER, LIQUID, SERUM, SOFTGEL, TABLET, VEG_CAPSULE), in any case. Unknown values are ignored. |
| certifications | string Example: certifications=vegan,kosher Comma-separated certifications; returns products carrying ALL of them. Values: certified_gmp, organic_certified, halal, kosher, lab_tested, manufactured_in_usa, non_gmo, sustainably_sourced, vegan, vegetarian, or their names (CERTIFIED_ORGANIC means organic_certified), in any case. Unknown values are ignored. |
| allergens | string Example: allergens=gluten_free,dairy_free Comma-separated free-from claims; returns products carrying ALL of them, so gluten_free,dairy_free means both labels are present (a must-match, not an exclusion). Values: animal_free, corn_free, dairy_free, egg_free, fish_free, gluten_free, hexane_free, nut_free, peanut_free, sesame_free, shellfish_free, soy_free, treenut_free, wheat_free, yeast_free, or their names (TREE_NUT_FREE means treenut_free), in any case. Unknown values are ignored. |
| categories | string Example: categories=Heart health,Vitamins Comma-separated shop categories; returns products in ANY of them. Values: Heart health, Metabolic health, Immune support, Inflammation & antioxidants, Brain & mood, Stress & sleep, Gut health, Liver & detox, Energy & performance, Healthy aging, Bones & joints, Hair, skin & nails, Hormones & thyroid, Women's health, Men's health, Eye health, Vitamins, Minerals, Herbs, or their names (HAIR_SKIN_AND_NAILS), in any case. "Hair, skin & nails" contains a comma and is still read as one value; URL-encode the "&". Unknown values are ignored. |
| search | string Example: search=omega Fuzzy search products by name, ingredients, or search terms |
| include_disabled | boolean Default: false Include products this partner has disabled (snake_case parameter name). Disabled products are excluded from this listing by default. Filtering is applied after pagination, so a page containing disabled products returns fewer than |
Array of objects (Product) | |||||||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||||||
| cursor | string or null (Cursor) Pagination cursor for retrieving next/previous page. Null when there are no more pages in the requested direction. | ||||||||||||||||||||||||||||||||||
{- "products": [
- {
- "id": 77123129891,
- "name": "Elite EPA",
- "description": "A comprehensive wellness supplement",
- "packDescription": "Whole Body Wellness",
- "price": "0.53",
- "discountedPrice": "0.48",
- "external": false,
- "recommendedUsage": {
- "morning": 1,
- "afternoon": 0,
- "evening": 1,
- "sleep": 0
}, - "form": "Softgel",
- "certifications": [
- "kosher",
- "halal",
- "non_gmo",
- "vegan"
], - "allergens": [
- "gluten_free",
- "dairy_free",
- "soy_free"
], - "supplementFactsPanel": {
- "servingSize": 2,
- "type": "softgel",
- "otherIngredients": [
- "Fish oil",
- "Gelatin",
- "Glycerin"
], - "ingredientInformation": [
- {
- "name": "Fish oil",
- "value": "100.1",
- "unit": "mg",
- "dailyValue": "23"
}
], - "nutritionInformation": [
- {
- "name": "Carbohydrates",
- "value": "10",
- "unit": "g",
- "dailyValue": "10"
}
]
}, - "status": "ACTIVE",
- "enabled": true,
- "createdAt": "2023-10-01T17:02:56.866619Z",
- "updatedAt": "2023-10-01T17:02:56.866619Z"
}
], - "cursor": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Retrieve detailed information for a specific product. A product this partner has disabled is still returned with HTTP 200 and enabled: false — disabling never turns this endpoint into a 404, so historical order lines keep rendering.
| productId required | integer Example: 77123129891 |
| id | integer Unique product identifier | ||||||||||||||||||||||||||||||
| name | string Product name | ||||||||||||||||||||||||||||||
| description | string Detailed product description | ||||||||||||||||||||||||||||||
| packDescription | string Description of the product packaging | ||||||||||||||||||||||||||||||
| price | string Base price per pill | ||||||||||||||||||||||||||||||
| discountedPrice | string Price per pill after partner discount applied | ||||||||||||||||||||||||||||||
| external | boolean If the product is external to the pill packs. i.e. powder or liquid | ||||||||||||||||||||||||||||||
| image | string <uri> URL to the product image | ||||||||||||||||||||||||||||||
object or null (Administration) Dosage schedule information specifying how many pills to take at each time of day. Null for external products (powders, liquids, standalone items outside the pill pack). For pack products, the sum of morning + afternoon + evening + sleep must equal the line item quantity. | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| form | string Enum: "Capsule" "Veg Capsule" "Tablet" "Quick-Dissolve Tablet" "Powder" "Liquid" "Serum" "Softgel" Physical form of the supplement | ||||||||||||||||||||||||||||||
| certifications | Array of strings Product certifications and standards | ||||||||||||||||||||||||||||||
| allergens | Array of strings Allergy related information | ||||||||||||||||||||||||||||||
object (SupplementFactsPanel) Detailed nutritional and ingredient information | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| status | string Enum: "ACTIVE" "DRAFT" "BACKORDERED" "DISCONTINUED" Current product availability status | ||||||||||||||||||||||||||||||
| enabled | boolean Default: true False when the calling partner has disabled this product. Disabled products are omitted from GET /products unless | ||||||||||||||||||||||||||||||
| createdAt | string <date-time> Product creation timestamp | ||||||||||||||||||||||||||||||
| updatedAt | string <date-time> Product last update timestamp | ||||||||||||||||||||||||||||||
{- "id": 77123129891,
- "name": "Elite EPA",
- "description": "A comprehensive wellness supplement",
- "packDescription": "Whole Body Wellness",
- "price": "0.53",
- "discountedPrice": "0.48",
- "external": false,
- "recommendedUsage": {
- "morning": 1,
- "afternoon": 0,
- "evening": 1,
- "sleep": 0
}, - "form": "Softgel",
- "certifications": [
- "kosher",
- "halal",
- "non_gmo",
- "vegan"
], - "allergens": [
- "gluten_free",
- "dairy_free",
- "soy_free"
], - "supplementFactsPanel": {
- "servingSize": 2,
- "type": "softgel",
- "otherIngredients": [
- "Fish oil",
- "Gelatin",
- "Glycerin"
], - "ingredientInformation": [
- {
- "name": "Fish oil",
- "value": "100.1",
- "unit": "mg",
- "dailyValue": "23"
}
], - "nutritionInformation": [
- {
- "name": "Carbohydrates",
- "value": "10",
- "unit": "g",
- "dailyValue": "10"
}
]
}, - "status": "ACTIVE",
- "enabled": true,
- "createdAt": "2023-10-01T17:02:56.866619Z",
- "updatedAt": "2023-10-01T17:02:56.866619Z"
}Retrieve list of available shipping methods with details
required | Array of objects (ShippingMethod) | ||||||
Array
| |||||||
{- "shippingMethods": [
- {
- "name": "STANDARD",
- "description": "5-8 business days",
- "price": "9.99"
}
]
}Retrieve the authenticated partner's current settings including branding, contact info, and billing address
| id | string Unique partner identifier (read-only) |
| name | string Partner name (read-only) |
| description | string or null Partner description |
| discount | string or null Human readable discount representation |
| discountValue | number or null Numeric discount value (0.0 to 1.0) |
| primaryColor | string or null Primary brand color (hex code) |
| secondaryColor | string or null Secondary brand color (hex code) |
| logo | string or null URL or key of partner logo |
| phone | string or null Partner phone number |
| supportEmail | string or null <email> Support email address |
| website | string or null <uri> Partner website URL |
| webhookUrl | string or null <uri> Webhook URL for order status notifications |
| billingAddressLine1 | string or null Billing address line 1 |
| billingAddressLine2 | string or null Billing address line 2 |
| billingCity | string or null Billing city |
| billingState | string or null Billing state/province |
| billingPostalCode | string or null Billing postal/zip code |
| billingCountry | string or null Billing country |
| createdAt | string <date-time> Partner creation timestamp |
| updatedAt | string <date-time> Partner last update timestamp |
{- "id": "2NxK7vPqYtR5mJnLkH3wZcB",
- "name": "Acme Health",
- "description": "Leading telehealth provider",
- "discount": "10%",
- "discountValue": 0.1,
- "primaryColor": "#1a73e8",
- "secondaryColor": "#ffffff",
- "phone": "555-123-4567",
- "supportEmail": "support@partner.com",
- "billingAddressLine1": "123 Main St",
- "billingAddressLine2": "Suite 100",
- "billingCity": "San Francisco",
- "billingState": "CA",
- "billingPostalCode": "94102",
- "billingCountry": "US",
- "createdAt": "2023-10-01T12:00:00Z",
- "updatedAt": "2023-10-01T12:00:00Z"
}Update the authenticated partner's settings. All fields are optional - only provided fields will be updated. Partners cannot change their name or ID.
| primaryColor | string Primary brand color (hex code) |
| secondaryColor | string Secondary brand color (hex code) |
| logo | string URL or key of partner logo |
| phone | string Partner phone number |
| supportEmail | string <email> Support email address |
| website | string <uri> Partner website URL |
| webhookUrl | string <uri> Webhook URL for order status notifications |
| billingAddressLine1 | string Billing address line 1 |
| billingAddressLine2 | string Billing address line 2 |
| billingCity | string Billing city |
| billingState | string Billing state/province |
| billingPostalCode | string Billing postal/zip code |
| billingCountry | string Billing country |
| id | string Unique partner identifier (read-only) |
| name | string Partner name (read-only) |
| description | string or null Partner description |
| discount | string or null Human readable discount representation |
| discountValue | number or null Numeric discount value (0.0 to 1.0) |
| primaryColor | string or null Primary brand color (hex code) |
| secondaryColor | string or null Secondary brand color (hex code) |
| logo | string or null URL or key of partner logo |
| phone | string or null Partner phone number |
| supportEmail | string or null <email> Support email address |
| website | string or null <uri> Partner website URL |
| webhookUrl | string or null <uri> Webhook URL for order status notifications |
| billingAddressLine1 | string or null Billing address line 1 |
| billingAddressLine2 | string or null Billing address line 2 |
| billingCity | string or null Billing city |
| billingState | string or null Billing state/province |
| billingPostalCode | string or null Billing postal/zip code |
| billingCountry | string or null Billing country |
| createdAt | string <date-time> Partner creation timestamp |
| updatedAt | string <date-time> Partner last update timestamp |
{- "primaryColor": "#1a73e8",
- "secondaryColor": "#ffffff",
- "phone": "555-123-4567",
- "supportEmail": "support@partner.com",
- "billingAddressLine1": "123 Main St",
- "billingAddressLine2": "Suite 100",
- "billingCity": "San Francisco",
- "billingState": "CA",
- "billingPostalCode": "94102",
- "billingCountry": "US"
}{- "id": "2NxK7vPqYtR5mJnLkH3wZcB",
- "name": "Acme Health",
- "description": "Leading telehealth provider",
- "discount": "10%",
- "discountValue": 0.1,
- "primaryColor": "#1a73e8",
- "secondaryColor": "#ffffff",
- "phone": "555-123-4567",
- "supportEmail": "support@partner.com",
- "billingAddressLine1": "123 Main St",
- "billingAddressLine2": "Suite 100",
- "billingCity": "San Francisco",
- "billingState": "CA",
- "billingPostalCode": "94102",
- "billingCountry": "US",
- "createdAt": "2023-10-01T12:00:00Z",
- "updatedAt": "2023-10-01T12:00:00Z"
}Retrieve your webhook secret for signature verification. The secret is not included in the general settings response for security. You must have a webhookUrl configured to have a secret.
| webhookSecret required | string The newly generated webhook secret |
{- "webhookSecret": "9f8e7d6c5b4a3f2e1d0c9b8a7f6e5d4c3b2a1f0e9d8c7b6a5f4e3d2c1b0a9f8e"
}Generate a new webhook secret. The old secret becomes invalid immediately. Use this endpoint to rotate your secret if it may have been compromised.
| webhookSecret required | string The newly generated webhook secret |
{- "webhookSecret": "9f8e7d6c5b4a3f2e1d0c9b8a7f6e5d4c3b2a1f0e9d8c7b6a5f4e3d2c1b0a9f8e"
}