Skip to content

Order Fulfillment API (1.0.2)

API for creating/managing supplements orders within the Juniper Health platform.

Authentication

This API uses OAuth 2.0 Client Credentials flow. To obtain an access token:

Token Endpoints:

  • Sandbox: https://auth.fulfillment.sandbox.juniperhealth.com/oauth2/token
  • Production: https://auth.fulfillment.juniperhealth.com/oauth2/token

Request:

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
Download OpenAPI description
Overview
Juniper Health Engineering Team
Languages
Servers
Sandbox API Server for testing
https://api.fulfillment.sandbox.juniperhealth.com/v1
Production API Server
https://api.fulfillment.juniperhealth.com/v1

Create, retrieve, and manage customer orders

Operations

Create and manage reusable order protocols/templates

Operations

Access product catalog and inventory details

Operations

Request

Retrieve paginated list of available products

Security
oauth2ClientCredentials
Query
limitinteger[ 1 .. 100 ]

Maximum number of results per page

Default 10
cursorstring

Pagination cursor for retrieving next/previous page

directionstring

Direction for pagination (next or previous)

Enum"next""previous"
statusstring

Filter products by status

Enum"ACTIVE""DRAFT""BACKORDERED""DISCONTINUED"
updatedAfterstring(date)

Filter products updated after this date

Example: updatedAfter=2023-10-01
updatedBeforestring(date)

Filter products updated before this date

Example: updatedBefore=2023-10-01
searchstring

Fuzzy search products by name, ingredients, or search terms

Example: search=omega
curl -i -X GET \
  'https://api.fulfillment.sandbox.juniperhealth.com/v1/products?limit=10&cursor=string&direction=next&status=ACTIVE&updatedAfter=2023-10-01&updatedBefore=2023-10-01&search=omega' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Successfully retrieved product catalog

Bodyapplication/json
productsArray of objects(Product)
cursorstring or null(Cursor)

Pagination cursor for retrieving next/previous page. Null when there are no more pages in the requested direction.

Example: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Response
application/json
{ "products": [ {} ], "cursor": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." }

Request

Retrieve detailed information for a specific product

Security
oauth2ClientCredentials
Path
productIdintegerrequired
Example: 77123129891
curl -i -X GET \
  https://api.fulfillment.sandbox.juniperhealth.com/v1/products/77123129891 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Successfully retrieved product details

Bodyapplication/json
idinteger

Unique product identifier

Example: 77123129891
namestring

Product name

Example: "Elite EPA"
descriptionstring

Detailed product description

Example: "A comprehensive wellness supplement"
packDescriptionstring

Description of the product packaging

Example: "Whole Body Wellness"
pricestring

Base price per pill

Example: "0.53"
discountedPricestring

Price per pill after partner discount applied

Example: "0.48"
externalboolean

If the product is external to the pill packs. i.e. powder or liquid

Example: false
imagestring(uri)

URL to the product image

Example: "https://example.com/images/elite-epa.jpg"
recommendedUsageobject 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.

formstring

Physical form of the supplement

Enum"Capsule""Veg Capsule""Tablet""Quick Dissolve Tablet""Powder""Liquid""Serum""Softgel"
Example: "Softgel"
certificationsArray of strings

Product certifications and standards

Example: ["kosher","halal","non_gmo","vegan"]
allergensArray of strings

Allergy related information

Example: ["gluten_free","dairy_free","soy_free"]
supplementFactsPanelobject(SupplementFactsPanel)

Detailed nutritional and ingredient information

statusstring

Current product availability status

Enum"ACTIVE""DRAFT""BACKORDERED""DISCONTINUED"
Example: "ACTIVE"
createdAtstring(date-time)

Product creation timestamp

Example: "2023-10-01T17:02:56.866619Z"
updatedAtstring(date-time)

Product last update timestamp

Example: "2023-10-01T17:02:56.866619Z"
Response
application/json
{ "id": 77123129891, "name": "Elite EPA", "description": "A comprehensive wellness supplement", "packDescription": "Whole Body Wellness", "price": "0.53", "discountedPrice": "0.48", "external": false, "image": "https://example.com/images/elite-epa.jpg", "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": [], "ingredientInformation": [], "nutritionInformation": [] }, "status": "ACTIVE", "createdAt": "2023-10-01T17:02:56.866619Z", "updatedAt": "2023-10-01T17:02:56.866619Z" }

Retrieve available shipping methods

Operations

Manage partner account settings and branding

Operations