{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Getting started","description":"REST API for the YOGO fitness platform — bookings, classes, customers, orders, teachers.","llmstxt":{"title":"YOGO API documentation","description":"REST API for the YOGO fitness platform. Customers can list classes, customers, teachers, orders, bookings, and the audit log; assign teachers to classes; and use the same data via an MCP server at mcp.yogobooking.com.","hide":false,"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"getting-started","__idx":0},"children":["Getting started"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"intended-use","__idx":1},"children":["Intended use"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The YOGO API is available as an add-on to all customers on the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Studio"]}," ","and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Studio+App"]}," plans. Clients without an appropriate plan receive a"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["403 Forbidden"]}," response even with a valid API key."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can use it to extract data into your own systems, or to integrate with"," ","third-party services. Examples include:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Exporting customer data to your CRM or email marketing platform"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Analyzing booking and attendance data in your BI tools"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Managing teacher schedules by assigning teachers to classes from an external scheduler"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"base-url","__idx":2},"children":["Base URL"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The API is available at:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"https://api.yogobooking.com\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All endpoints in the API reference (see the sidebar) should be prefixed"," ","with this base URL. For example:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"GET https://api.yogobooking.com/customers\n"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"quick-start","__idx":3},"children":["Quick start"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Get an API key from your YOGO admin module (Settings → API keys)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Authenticate every request with the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/authentication"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["X-API-KEY"]}," header"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Most list endpoints use ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/pagination"},"children":["cursor-based pagination"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Be aware of the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/rate-limiting"},"children":["rate limits"]}," — 100 requests per minute"," ","per client."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A minimal first call:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl https://api.yogobooking.com/customers \\\n  -H \"X-API-KEY: your_api_key_here\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"date-and-time-inputs","__idx":4},"children":["Date and time inputs"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Endpoints that take a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["from"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["to"]}," date range (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/bookings"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/classes"]},","," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/write-logs"]},") accept three input shapes:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Format"},"children":["Format"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Example"},"children":["Example"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Interpretation"},"children":["Interpretation"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Keyword"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["today"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["yesterday"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tomorrow"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Calendar day in the studio timezone. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["from"]}," rounds to start-of-day; ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["to"]}," to end-of-day."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Keyword offset"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["+14d"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-7d"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["+1w"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-2w"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["+1m"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["-3m"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Calendar offset from today. Bounded to roughly ±2 years; for ranges further out use an explicit ISO date."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Date-only"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2026-05-15"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Calendar day in the studio timezone, rounded to start- or end-of-day."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Full ISO datetime"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2026-05-15T10:00:00+02:00"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2026-05-15T08:00:00Z"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Used as-is when an offset is present; interpreted in the studio timezone otherwise."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A typical \"show me classes for the next two weeks\" request:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl 'https://api.yogobooking.com/classes?from=today&to=%2B14d' \\\n  -H \"X-API-KEY: your_api_key_here\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["(Note ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["%2B"]}," is the URL-encoded ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["+"]},". In a JSON body, scripted call, or"," ","client SDK you can pass ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["+14d"]}," literally.)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Offsets are calendar-aware — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["+1m"]}," is \"the same day-of-month next month\","," ","not 30 days. Daylight-saving transitions in the studio timezone are"," ","handled correctly: a range that crosses a DST boundary doesn't gain or"," ","lose an hour."]}]},"headings":[{"value":"Getting started","id":"getting-started","depth":1},{"value":"Intended use","id":"intended-use","depth":2},{"value":"Base URL","id":"base-url","depth":2},{"value":"Quick start","id":"quick-start","depth":2},{"value":"Date and time inputs","id":"date-and-time-inputs","depth":2}],"frontmatter":{"title":"Getting started","seo":{"title":"Getting started"}},"lastModified":"2026-05-07T09:20:12.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/getting-started","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}