Build with Buddy
Buddy ships with a fully open API — 1,000+ documented endpoints, Swagger / OpenAPI specs, and direct engineering support to help you connect anything to anything.
What you get access to
Open REST API
1,000+ endpoints covering commerce, inventory, customers, orders, promotions, and analytics — built for production integrations.
Swagger / OpenAPI Docs
Fully documented schemas with request and response examples. Explore every endpoint, test live, and generate clients in your language of choice.
Engineering Support
Direct access to Buddy's dev team. We help scope, review, and ship — whether you're integrating in, out, or alongside our platform.
Endpoint categories
The surface area is wide because Buddy runs the whole storefront, not one slice of it. Rather than reading a thousand entries end to end, most teams start from the group that matches the job in front of them and expand outward from there.
Catalog and inventory
Products, variants, categories, brands, pricing, and availability. Read the live catalog or push changes from an external system of record.
Orders and fulfillment
Create orders, read status transitions, and reconcile what happened online with what happened at the register.
Customers and accounts
Customer records, contact preferences, order history, and the identifiers you need to join Buddy data to your own warehouse.
Promotions and pricing rules
Discounts, bundles, deal logic, and the conditions that decide when an offer applies to a cart.
Content and pages
Storefront pages, collections, media, and the structured fields behind product storytelling.
Analytics and events
Traffic, behavior, and commerce events, pulled as aggregates or as the underlying event stream for your own BI tooling.
Authentication and access
Access is granted per integration rather than per person. A partner gets its own credentials, so a key can be rotated or revoked without disturbing anyone else connected to the same account, and every call is attributable to the system that made it.
Requests are made over HTTPS with the key sent as a bearer token in the authorization header. Responses are JSON, list endpoints are paginated, and errors come back with a status code and a machine-readable body rather than an HTML page. The exact scopes and rate limits attached to a key are set during partner onboarding, based on what the integration actually needs to touch.
Because credentials are scoped, a read-only reporting connector and a write-capable inventory sync are not the same key. That separation is deliberate: it keeps a reporting bug from ever becoming a catalog incident.
Example request
curl https://api.hellobuddy.app/v1/products?limit=25 \
-H "Authorization: Bearer $BUDDY_API_KEY" \
-H "Accept: application/json"
# 200 OK
# {
# "data": [
# {
# "id": "prod_8f21",
# "name": "Harbor Fog 3.5g",
# "category": "flower",
# "price": 4200,
# "in_stock": true
# }
# ],
# "has_more": true,
# "next_cursor": "cur_9x1a"
# }Every endpoint follows the same shape, so once one call is working the rest of the surface is predictable. Full request and response schemas, including the fields not shown above, live in the Swagger documentation shared with partners.
Three ways to integrate
Connect your platform into Buddy, build new experiences on top of Buddy, or extend Buddy outside of our app. The API is open — wire it up however your stack needs it.
Tell us what you're building
Drop your details and a quick note about the integration. Our team will review and get back to you to scope next steps.