{"items":[{"type":"link","label":"Data Hub API","link":"/data-hub/api","routeSlug":"/data-hub/api","content":{"contentType":"overview","meta":{"name":"Data Hub API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"api.json","url":"/_bundle/data-hub/api.json?download"},{"kind":"download","label":"api.yaml","url":"/_bundle/data-hub/api.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"externallink","title":"URL","titleTranslationKey":"info.contact.url","label":"https://egym.com/","url":"https://egym.com/"},{"kind":"email","title":"Operator Experience Team","email":"ox-dev@egym.com","label":"ox-dev@egym.com","withCopyButton":true,"copyContent":"ox-dev@egym.com"},{"kind":"externallink","label":"Terms of Service","labelTranslationKey":"info.termsOfService","url":"https://egym.com/en/terms/"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Data Hub API (Pilot)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":"APIs for exporting analytics, Smart Strength workouts, and measurement data for the authenticated gym location. Daily data exports should be fetched at or after 09:00 UTC once overnight processing completes. Callers must store externalAccountId returned in user event exports so that member records can be mapped and deleted when members appear in the opted-out-users endpoint. Data Hub is in pilot and available exclusively to EGYM Enterprise Pack customers; functionality and API contracts may change."}],"sectionId":"/data-hub/api"}],"sectionId":"/data-hub/api"}]}]}},{"type":"group","label":"Synchronous exports","link":"/data-hub/api/synchronous-exports","routeSlug":"/data-hub/api/synchronous-exports","items":[{"label":"Export weekly analytics","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/data-hub/api/synchronous-exports/getanalyticsexport","routeSlug":"/data-hub/api/synchronous-exports/getanalyticsexport","metadata":{"seo":{"title":"Export weekly analytics","description":"Returns weekly analytics metrics for the gym location associated with the API key. The maximum date range is 365 days."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAnalyticsExport","name":"Export weekly analytics","isWebhook":false,"pointer":"/paths/~1api~1v1~1data~1analytics/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Export weekly analytics","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns weekly analytics metrics for the gym location associated with the API key. The maximum date range is 365 days."},{"nodeType":"security","requirements":[{"schemes":[{"name":"apiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key","description":"API key generated by EGYM for a gym location."}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"startDate","in":"query","schemaId":"schema_6","description":"Start date in YYYY-MM-DD format.","required":true},{"name":"endDate","in":"query","schemaId":"schema_6","description":"End date in YYYY-MM-DD format.","required":true},{"name":"cursor","in":"query","schemaId":"schema_7","description":"Pagination cursor returned as nextCursor by the previous response."}],"pointer":"/paths/~1api~1v1~1data~1analytics/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/data/analytics","servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"parameters":{"path":[],"query":[{"name":"startDate","in":"query","required":true,"schemaId":"schema_6"},{"name":"endDate","in":"query","required":true,"schemaId":"schema_6"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_7"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apiKeyAuth","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/api/v1/data/analytics","href":"synchronous-exports/getanalyticsexport","openApiOperationId":"getAnalyticsExport","summary":"Export weekly analytics"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Analytics export page.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AnalyticsExportResponse"}},"schemaId":"components/schemas/AnalyticsExportResponse"},{"code":"400","description":"Invalid request parameters or body.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"401","description":"Missing, malformed, or invalid API key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"403","description":"API key is not authorized to access this resource.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"500","description":"Unexpected server error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"}],"pointer":"/paths/~1api~1v1~1data~1analytics/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AnalyticsExportResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AnalyticsExportResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"401","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"403","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"500","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/synchronous-exports/getanalyticsexport"}],"panels":[]}]},"httpPath":"/api/v1/data/analytics"},{"label":"Export recent Smart Strength workouts","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/data-hub/api/synchronous-exports/getsmartstrengthworkoutsexport","routeSlug":"/data-hub/api/synchronous-exports/getsmartstrengthworkoutsexport","metadata":{"seo":{"title":"Export recent Smart Strength workouts","description":"Returns recent Smart Strength workout data for the gym location associated with the API key. The maximum date range is 30 days and startDate must be within the last month."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getSmartStrengthWorkoutsExport","name":"Export recent Smart Strength workouts","isWebhook":false,"pointer":"/paths/~1api~1v1~1data~1smart-strength-workouts/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Export recent Smart Strength workouts","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns recent Smart Strength workout data for the gym location associated with the API key. The maximum date range is 30 days and startDate must be within the last month."},{"nodeType":"security","requirements":[{"schemes":[{"name":"apiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key","description":"API key generated by EGYM for a gym location."}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"startDate","in":"query","schemaId":"schema_6","description":"Start date in YYYY-MM-DD format.","required":true},{"name":"endDate","in":"query","schemaId":"schema_6","description":"End date in YYYY-MM-DD format.","required":true},{"name":"cursor","in":"query","schemaId":"schema_7","description":"Pagination cursor returned as nextCursor by the previous response."}],"pointer":"/paths/~1api~1v1~1data~1smart-strength-workouts/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/data/smart-strength-workouts","servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"parameters":{"path":[],"query":[{"name":"startDate","in":"query","required":true,"schemaId":"schema_6"},{"name":"endDate","in":"query","required":true,"schemaId":"schema_6"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_7"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apiKeyAuth","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/api/v1/data/smart-strength-workouts","href":"synchronous-exports/getsmartstrengthworkoutsexport","openApiOperationId":"getSmartStrengthWorkoutsExport","summary":"Export recent Smart Strength workouts"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Smart Strength workout export page.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SmartStrengthWorkoutsExportResponse"}},"schemaId":"components/schemas/SmartStrengthWorkoutsExportResponse"},{"code":"400","description":"Invalid request parameters or body.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"401","description":"Missing, malformed, or invalid API key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"403","description":"API key is not authorized to access this resource.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"500","description":"Unexpected server error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"}],"pointer":"/paths/~1api~1v1~1data~1smart-strength-workouts/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SmartStrengthWorkoutsExportResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SmartStrengthWorkoutsExportResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"401","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"403","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"500","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/synchronous-exports/getsmartstrengthworkoutsexport"}],"panels":[]}]},"httpPath":"/api/v1/data/smart-strength-workouts"},{"label":"Export recent Smart Strength assessments","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/data-hub/api/synchronous-exports/getsmartstrengthassessmentsexport","routeSlug":"/data-hub/api/synchronous-exports/getsmartstrengthassessmentsexport","metadata":{"seo":{"title":"Export recent Smart Strength assessments","description":"Returns recent Smart Strength assessment data for the gym location associated with the API key. The maximum date range is 30 days and startDate must be within the last month."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getSmartStrengthAssessmentsExport","name":"Export recent Smart Strength assessments","isWebhook":false,"pointer":"/paths/~1api~1v1~1data~1smart-strength-assessments/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Export recent Smart Strength assessments","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns recent Smart Strength assessment data for the gym location associated with the API key. The maximum date range is 30 days and startDate must be within the last month."},{"nodeType":"security","requirements":[{"schemes":[{"name":"apiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key","description":"API key generated by EGYM for a gym location."}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"startDate","in":"query","schemaId":"schema_6","description":"Start date in YYYY-MM-DD format.","required":true},{"name":"endDate","in":"query","schemaId":"schema_6","description":"End date in YYYY-MM-DD format.","required":true},{"name":"cursor","in":"query","schemaId":"schema_7","description":"Pagination cursor returned as nextCursor by the previous response."}],"pointer":"/paths/~1api~1v1~1data~1smart-strength-assessments/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/data/smart-strength-assessments","servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"parameters":{"path":[],"query":[{"name":"startDate","in":"query","required":true,"schemaId":"schema_6"},{"name":"endDate","in":"query","required":true,"schemaId":"schema_6"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_7"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apiKeyAuth","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/api/v1/data/smart-strength-assessments","href":"synchronous-exports/getsmartstrengthassessmentsexport","openApiOperationId":"getSmartStrengthAssessmentsExport","summary":"Export recent Smart Strength assessments"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Smart Strength assessment export page.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SmartStrengthAssessmentsExportResponse"}},"schemaId":"components/schemas/SmartStrengthAssessmentsExportResponse"},{"code":"400","description":"Invalid request parameters or body.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"401","description":"Missing, malformed, or invalid API key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"403","description":"API key is not authorized to access this resource.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"500","description":"Unexpected server error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"}],"pointer":"/paths/~1api~1v1~1data~1smart-strength-assessments/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/SmartStrengthAssessmentsExportResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/SmartStrengthAssessmentsExportResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"401","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"403","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"500","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/synchronous-exports/getsmartstrengthassessmentsexport"}],"panels":[]}]},"httpPath":"/api/v1/data/smart-strength-assessments"},{"label":"Export recent flexibility measurements","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/data-hub/api/synchronous-exports/getflexibilitymeasurementsexport","routeSlug":"/data-hub/api/synchronous-exports/getflexibilitymeasurementsexport","metadata":{"seo":{"title":"Export recent flexibility measurements","description":"Returns recent flexibility measurement data for the gym location associated with the API key. The maximum date range is 30 days and startDate must be within the last month."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getFlexibilityMeasurementsExport","name":"Export recent flexibility measurements","isWebhook":false,"pointer":"/paths/~1api~1v1~1data~1flexibility-measurements/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Export recent flexibility measurements","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns recent flexibility measurement data for the gym location associated with the API key. The maximum date range is 30 days and startDate must be within the last month."},{"nodeType":"security","requirements":[{"schemes":[{"name":"apiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key","description":"API key generated by EGYM for a gym location."}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"startDate","in":"query","schemaId":"schema_6","description":"Start date in YYYY-MM-DD format.","required":true},{"name":"endDate","in":"query","schemaId":"schema_6","description":"End date in YYYY-MM-DD format.","required":true},{"name":"cursor","in":"query","schemaId":"schema_7","description":"Pagination cursor returned as nextCursor by the previous response."}],"pointer":"/paths/~1api~1v1~1data~1flexibility-measurements/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/data/flexibility-measurements","servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"parameters":{"path":[],"query":[{"name":"startDate","in":"query","required":true,"schemaId":"schema_6"},{"name":"endDate","in":"query","required":true,"schemaId":"schema_6"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_7"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apiKeyAuth","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/api/v1/data/flexibility-measurements","href":"synchronous-exports/getflexibilitymeasurementsexport","openApiOperationId":"getFlexibilityMeasurementsExport","summary":"Export recent flexibility measurements"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Flexibility measurement export page.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FlexibilityMeasurementsExportResponse"}},"schemaId":"components/schemas/FlexibilityMeasurementsExportResponse"},{"code":"400","description":"Invalid request parameters or body.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"401","description":"Missing, malformed, or invalid API key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"403","description":"API key is not authorized to access this resource.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"500","description":"Unexpected server error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"}],"pointer":"/paths/~1api~1v1~1data~1flexibility-measurements/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/FlexibilityMeasurementsExportResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/FlexibilityMeasurementsExportResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"401","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"403","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"500","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/synchronous-exports/getflexibilitymeasurementsexport"}],"panels":[]}]},"httpPath":"/api/v1/data/flexibility-measurements"},{"label":"Export recent body measurements","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/data-hub/api/synchronous-exports/getbodymeasurementsexport","routeSlug":"/data-hub/api/synchronous-exports/getbodymeasurementsexport","metadata":{"seo":{"title":"Export recent body measurements","description":"Returns recent body measurement data for the gym location associated with the API key. The maximum date range is 30 days and startDate must be within the last month."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBodyMeasurementsExport","name":"Export recent body measurements","isWebhook":false,"pointer":"/paths/~1api~1v1~1data~1body-measurements/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Export recent body measurements","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns recent body measurement data for the gym location associated with the API key. The maximum date range is 30 days and startDate must be within the last month."},{"nodeType":"security","requirements":[{"schemes":[{"name":"apiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key","description":"API key generated by EGYM for a gym location."}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"startDate","in":"query","schemaId":"schema_6","description":"Start date in YYYY-MM-DD format.","required":true},{"name":"endDate","in":"query","schemaId":"schema_6","description":"End date in YYYY-MM-DD format.","required":true},{"name":"cursor","in":"query","schemaId":"schema_7","description":"Pagination cursor returned as nextCursor by the previous response."}],"pointer":"/paths/~1api~1v1~1data~1body-measurements/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/data/body-measurements","servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"parameters":{"path":[],"query":[{"name":"startDate","in":"query","required":true,"schemaId":"schema_6"},{"name":"endDate","in":"query","required":true,"schemaId":"schema_6"},{"name":"cursor","in":"query","required":false,"schemaId":"schema_7"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apiKeyAuth","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","403","500"],"pointer":"/api/v1/data/body-measurements","href":"synchronous-exports/getbodymeasurementsexport","openApiOperationId":"getBodyMeasurementsExport","summary":"Export recent body measurements"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Body measurement export page.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BodyMeasurementsExportResponse"}},"schemaId":"components/schemas/BodyMeasurementsExportResponse"},{"code":"400","description":"Invalid request parameters or body.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"401","description":"Missing, malformed, or invalid API key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"403","description":"API key is not authorized to access this resource.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"500","description":"Unexpected server error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"}],"pointer":"/paths/~1api~1v1~1data~1body-measurements/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/BodyMeasurementsExportResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/BodyMeasurementsExportResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"401","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"403","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"500","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/synchronous-exports/getbodymeasurementsexport"}],"panels":[]}]},"httpPath":"/api/v1/data/body-measurements"},{"label":"Export opted-out users","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/data-hub/api/synchronous-exports/getoptedoutusersexport","routeSlug":"/data-hub/api/synchronous-exports/getoptedoutusersexport","metadata":{"seo":{"title":"Export opted-out users","description":"Returns members at the gym location who have opted out of health data and consumer-to-business (C2B) sharing. The response contains only externalAccountId and lastSeenAt; names and emails are omitted. Match this ID back to the externalAccountId you stored during your event exports to find and delete the member's previously exported data for GDPR and privacy compliance. The endpoint takes no query parameters and is not paginated; it returns all opted-out users for the gym location in a single response."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getOptedOutUsersExport","name":"Export opted-out users","isWebhook":false,"pointer":"/paths/~1api~1v1~1data~1opted-out-users/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Export opted-out users","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns members at the gym location who have opted out of health data and consumer-to-business (C2B) sharing. The response contains only externalAccountId and lastSeenAt; names and emails are omitted. Match this ID back to the externalAccountId you stored during your event exports to find and delete the member's previously exported data for GDPR and privacy compliance. The endpoint takes no query parameters and is not paginated; it returns all opted-out users for the gym location in a single response."},{"nodeType":"security","requirements":[{"schemes":[{"name":"apiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key","description":"API key generated by EGYM for a gym location."}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/data/opted-out-users","servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apiKeyAuth","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","401","403","500"],"pointer":"/api/v1/data/opted-out-users","href":"synchronous-exports/getoptedoutusersexport","openApiOperationId":"getOptedOutUsersExport","summary":"Export opted-out users"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Opted-out users for the gym location.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/OptedOutUsersExportResponse"}},"schemaId":"components/schemas/OptedOutUsersExportResponse"},{"code":"401","description":"Missing, malformed, or invalid API key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"403","description":"API key is not authorized to access this resource.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"500","description":"Unexpected server error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"}],"pointer":"/paths/~1api~1v1~1data~1opted-out-users/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/OptedOutUsersExportResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/OptedOutUsersExportResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"403","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"500","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/synchronous-exports/getoptedoutusersexport"}],"panels":[]}]},"httpPath":"/api/v1/data/opted-out-users"}],"content":{"contentType":"group","meta":{"name":"Synchronous exports"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Synchronous exports","showPageActions":true},{"nodeType":"markdoc","content":"Immediate paginated JSON exports for weekly analytics and recent event data."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/data/analytics","summary":"Export weekly analytics","prefix":{"name":"get","color":"get"},"badges":[],"link":"/synchronous-exports/getanalyticsexport","deprecated":false},{"title":"/api/v1/data/smart-strength-workouts","summary":"Export recent Smart Strength workouts","prefix":{"name":"get","color":"get"},"badges":[],"link":"/synchronous-exports/getsmartstrengthworkoutsexport","deprecated":false},{"title":"/api/v1/data/smart-strength-assessments","summary":"Export recent Smart Strength assessments","prefix":{"name":"get","color":"get"},"badges":[],"link":"/synchronous-exports/getsmartstrengthassessmentsexport","deprecated":false},{"title":"/api/v1/data/flexibility-measurements","summary":"Export recent flexibility measurements","prefix":{"name":"get","color":"get"},"badges":[],"link":"/synchronous-exports/getflexibilitymeasurementsexport","deprecated":false},{"title":"/api/v1/data/body-measurements","summary":"Export recent body measurements","prefix":{"name":"get","color":"get"},"badges":[],"link":"/synchronous-exports/getbodymeasurementsexport","deprecated":false},{"title":"/api/v1/data/opted-out-users","summary":"Export opted-out users","prefix":{"name":"get","color":"get"},"badges":[],"link":"/synchronous-exports/getoptedoutusersexport","deprecated":false}]}]}]}]}},{"type":"group","label":"Asynchronous exports","link":"/data-hub/api/asynchronous-exports","routeSlug":"/data-hub/api/asynchronous-exports","items":[{"label":"Create async export job","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/data-hub/api/asynchronous-exports/createasyncexportjob","routeSlug":"/data-hub/api/asynchronous-exports/createasyncexportjob","metadata":{"seo":{"title":"Create async export job","description":"Creates a background export job for a file-based event data export. Async exports can go back up to one year. Requests cannot include event data older than one year, and each export job can cover at most 365 days."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createAsyncExportJob","name":"Create async export job","isWebhook":false,"pointer":"/paths/~1api~1v1~1data~1async/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create async export job","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Creates a background export job for a file-based event data export. Async exports can go back up to one year. Requests cannot include event data older than one year, and each export job can cover at most 365 days."},{"nodeType":"security","requirements":[{"schemes":[{"name":"apiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key","description":"API key generated by EGYM for a gym location."}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AsyncExportCreateRequest"}},"schemaId":"components/schemas/AsyncExportCreateRequest","pointer":"/paths/~1api~1v1~1data~1async/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/api/v1/data/async","servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apiKeyAuth","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/AsyncExportCreateRequest"}},"responseCodes":["201","400","401","403","500"],"pointer":"/api/v1/data/async","href":"asynchronous-exports/createasyncexportjob","openApiOperationId":"createAsyncExportJob","summary":"Create async export job"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"schemaId":"components/schemas/AsyncExportCreateRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/AsyncExportCreateRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Export job created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AsyncExportCreateResponse"}},"schemaId":"components/schemas/AsyncExportCreateResponse"},{"code":"400","description":"Invalid request parameters or body.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"401","description":"Missing, malformed, or invalid API key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"403","description":"API key is not authorized to access this resource.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"500","description":"Unexpected server error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"}],"pointer":"/paths/~1api~1v1~1data~1async/post/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"201","schemaId":"components/schemas/AsyncExportCreateResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AsyncExportCreateResponse"}}},{"code":"400","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"401","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"403","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"500","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asynchronous-exports/createasyncexportjob"}],"panels":[]}]},"httpPath":"/api/v1/data/async"},{"label":"Get async export job status","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/data-hub/api/asynchronous-exports/getasyncexportjobstatus","routeSlug":"/data-hub/api/asynchronous-exports/getasyncexportjobstatus","metadata":{"seo":{"title":"Get async export job status","description":"Returns the current status of an async export job. A downloadURL is returned only when the job status is DONE."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAsyncExportJobStatus","name":"Get async export job status","isWebhook":false,"pointer":"/paths/~1api~1v1~1data~1async~1jobs~1{jobId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get async export job status","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns the current status of an async export job. A downloadURL is returned only when the job status is DONE."},{"nodeType":"security","requirements":[{"schemes":[{"name":"apiKeyAuth","scopes":[],"type":"apiKey","in":"header","paramName":"x-api-key","description":"API key generated by EGYM for a gym location."}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"jobId","in":"path","schemaId":"schema_8","required":true}],"pointer":"/paths/~1api~1v1~1data~1async~1jobs~1{jobId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v1/data/async/jobs/{jobId}","servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"parameters":{"path":[{"name":"jobId","in":"path","required":true,"schemaId":"schema_8"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apiKeyAuth","type":"apiKey","name":"x-api-key","in":"header"}],"scopes":[]}],"responseCodes":["200","401","403","404","500"],"pointer":"/api/v1/data/async/jobs/{jobId}","href":"asynchronous-exports/getasyncexportjobstatus","openApiOperationId":"getAsyncExportJobStatus","summary":"Get async export job status"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/data-hub/api","description":"Mock server","isMockServer":true},{"url":"https://analytics.api.egym.com","description":"Production"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Export job status.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AsyncExportStatusResponse"}},"schemaId":"components/schemas/AsyncExportStatusResponse"},{"code":"401","description":"Missing, malformed, or invalid API key.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"403","description":"API key is not authorized to access this resource.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"404","description":"Requested resource was not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"},{"code":"500","description":"Unexpected server error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}},"schemaId":"components/schemas/ErrorDTO"}],"pointer":"/paths/~1api~1v1~1data~1async~1jobs~1{jobId}/get/responses"}],"panels":[{"children":[{"kind":"response","responseCodes":[{"code":"200","schemaId":"components/schemas/AsyncExportStatusResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AsyncExportStatusResponse"}}},{"code":"401","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"403","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"404","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}},{"code":"500","schemaId":"components/schemas/ErrorDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorDTO"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/asynchronous-exports/getasyncexportjobstatus"}],"panels":[]}]},"httpPath":"/api/v1/data/async/jobs/{jobId}"}],"content":{"contentType":"group","meta":{"name":"Asynchronous exports"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Asynchronous exports","showPageActions":true},{"nodeType":"markdoc","content":"Background export jobs that produce downloadable JSON, JSONL, or CSV files."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/api/v1/data/async","summary":"Create async export job","prefix":{"name":"post","color":"post"},"badges":[],"link":"/asynchronous-exports/createasyncexportjob","deprecated":false},{"title":"/api/v1/data/async/jobs/{jobId}","summary":"Get async export job status","prefix":{"name":"get","color":"get"},"badges":[],"link":"/asynchronous-exports/getasyncexportjobstatus","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/GymInfo":{"id":"components/schemas/GymInfo","kind":"json-schema","title":"GymInfo","data":{"type":"object","properties":{"name":{"type":"string"}}}},"components/schemas/AnalyticsExportResponse":{"id":"components/schemas/AnalyticsExportResponse","kind":"json-schema","title":"AnalyticsExportResponse","data":{"type":"object","properties":{"gym":{"$ref":"#/components/schemas/GymInfo"},"data":{"type":"array","items":{"$ref":"#/components/schemas/AnalyticsExportItem"}},"nextCursor":{"type":"string","nullable":true}}}},"components/schemas/AnalyticsExportItem":{"id":"components/schemas/AnalyticsExportItem","kind":"json-schema","title":"AnalyticsExportItem","data":{"type":"object","properties":{"periodStart":{"type":"string","format":"date"},"periodEnd":{"type":"string","format":"date"},"metricType":{"type":"string"},"metricKey":{"type":"string"},"metricSubType":{"type":"string"},"value":{"type":"number","format":"double"}}}},"components/schemas/OptedOutUsersExportResponse":{"id":"components/schemas/OptedOutUsersExportResponse","kind":"json-schema","title":"OptedOutUsersExportResponse","data":{"type":"object","properties":{"gym":{"$ref":"#/components/schemas/GymInfo"},"data":{"type":"array","items":{"$ref":"#/components/schemas/OptedOutUserExportItem"}}}}},"components/schemas/OptedOutUserExportItem":{"id":"components/schemas/OptedOutUserExportItem","kind":"json-schema","title":"OptedOutUserExportItem","data":{"type":"object","properties":{"externalAccountId":{"type":"string","description":"Unique, stable identifier for the member's account. The opted-out users endpoint returns only externalAccountId and lastSeenAt; names and emails are omitted. Match this ID against the externalAccountId values saved from your exports to identify and delete all records for this member."},"lastSeenAt":{"type":"string","format":"date-time","nullable":true}}}},"components/schemas/SmartStrengthWorkoutsExportResponse":{"id":"components/schemas/SmartStrengthWorkoutsExportResponse","kind":"json-schema","title":"SmartStrengthWorkoutsExportResponse","data":{"type":"object","properties":{"gym":{"$ref":"#/components/schemas/GymInfo"},"data":{"type":"array","items":{"$ref":"#/components/schemas/SmartStrengthWorkoutItem"}},"nextCursor":{"type":"string","nullable":true}}}},"components/schemas/SmartStrengthWorkoutItem":{"id":"components/schemas/SmartStrengthWorkoutItem","kind":"json-schema","title":"SmartStrengthWorkoutItem","data":{"type":"object","properties":{"eventTimestamp":{"type":"string","format":"date-time","nullable":true},"externalAccountId":{"type":"string","description":"Unique, stable identifier for the member's account. Store this ID in your database to correlate records and to delete this member's previously exported data if they appear in the opted-out-users endpoint."},"mmsMembershipId":{"type":"string","nullable":true,"description":"Optional membership identifier from source systems. May be null when unavailable."},"isGuestUser":{"type":"boolean","nullable":true},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"machineType":{"type":"string","nullable":true},"trainingMethod":{"type":"string","nullable":true},"operationMode":{"type":"string","nullable":true},"trainingVisualization":{"type":"string","nullable":true}}}},"components/schemas/SmartStrengthAssessmentsExportResponse":{"id":"components/schemas/SmartStrengthAssessmentsExportResponse","kind":"json-schema","title":"SmartStrengthAssessmentsExportResponse","data":{"type":"object","properties":{"gym":{"$ref":"#/components/schemas/GymInfo"},"data":{"type":"array","items":{"$ref":"#/components/schemas/SmartStrengthAssessmentItem"}},"nextCursor":{"type":"string","nullable":true}}}},"components/schemas/SmartStrengthAssessmentItem":{"id":"components/schemas/SmartStrengthAssessmentItem","kind":"json-schema","title":"SmartStrengthAssessmentItem","data":{"type":"object","properties":{"eventTimestamp":{"type":"string","format":"date-time","nullable":true},"bodyRegion":{"type":"string","nullable":true},"typeId":{"type":"string","nullable":true},"activityName":{"type":"string","nullable":true},"measurementCompleted":{"type":"boolean","nullable":true},"chainName":{"type":"string","nullable":true},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"externalAccountId":{"type":"string","description":"Unique, stable identifier for the member's account. Store this ID in your database to correlate records and to delete this member's previously exported data if they appear in the opted-out-users endpoint."},"mmsMembershipId":{"type":"string","nullable":true,"description":"Optional membership identifier from source systems. May be null when unavailable."}}}},"components/schemas/FlexibilityMeasurementsExportResponse":{"id":"components/schemas/FlexibilityMeasurementsExportResponse","kind":"json-schema","title":"FlexibilityMeasurementsExportResponse","data":{"type":"object","properties":{"gym":{"$ref":"#/components/schemas/GymInfo"},"data":{"type":"array","items":{"$ref":"#/components/schemas/FlexibilityMeasurementItem"}},"nextCursor":{"type":"string","nullable":true}}}},"components/schemas/FlexibilityMeasurementItem":{"id":"components/schemas/FlexibilityMeasurementItem","kind":"json-schema","title":"FlexibilityMeasurementItem","data":{"type":"object","properties":{"externalAccountId":{"type":"string","description":"Unique, stable identifier for the member's account. Store this ID in your database to correlate records and to delete this member's previously exported data if they appear in the opted-out-users endpoint."},"mmsMembershipId":{"type":"string","nullable":true,"description":"Optional membership identifier from source systems. May be null when unavailable."},"eventTimestamp":{"type":"string","format":"date-time","nullable":true},"measurementType":{"type":"string","nullable":true},"isStaff":{"type":"boolean","nullable":true},"measurementCompleted":{"type":"boolean","nullable":true},"chainName":{"type":"string","nullable":true},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}}}},"components/schemas/BodyMeasurementsExportResponse":{"id":"components/schemas/BodyMeasurementsExportResponse","kind":"json-schema","title":"BodyMeasurementsExportResponse","data":{"type":"object","properties":{"gym":{"$ref":"#/components/schemas/GymInfo"},"data":{"type":"array","items":{"$ref":"#/components/schemas/BodyMeasurementItem"}},"nextCursor":{"type":"string","nullable":true}}}},"components/schemas/BodyMeasurementItem":{"id":"components/schemas/BodyMeasurementItem","kind":"json-schema","title":"BodyMeasurementItem","data":{"type":"object","properties":{"externalAccountId":{"type":"string","description":"Unique, stable identifier for the member's account. Store this ID in your database to correlate records and to delete this member's previously exported data if they appear in the opted-out-users endpoint."},"mmsMembershipId":{"type":"string","nullable":true,"description":"Optional membership identifier from source systems. May be null when unavailable."},"eventTimestamp":{"type":"string","format":"date-time","nullable":true},"measurementSource":{"type":"string","nullable":true},"isStaff":{"type":"boolean","nullable":true},"measurementCompleted":{"type":"boolean","nullable":true},"chainName":{"type":"string","nullable":true},"firstName":{"type":"string","nullable":true},"lastName":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}}}},"components/schemas/AsyncExportCreateRequest":{"id":"components/schemas/AsyncExportCreateRequest","kind":"json-schema","title":"AsyncExportCreateRequest","data":{"type":"object","required":["startDate","endDate","exportType"],"properties":{"startDate":{"type":"string","format":"date","description":"Start date in YYYY-MM-DD format. Must not be older than one year."},"endDate":{"type":"string","format":"date","description":"End date in YYYY-MM-DD format. The requested period cannot exceed 365 days or include data older than one year."},"exportType":{"$ref":"#/components/schemas/ExportType"},"fileType":{"description":"Optional output format. Defaults to JSONL when omitted.","default":"JSONL","allOf":[{"$ref":"#/components/schemas/AsyncExportFileType"}]}}}},"components/schemas/AsyncExportCreateResponse":{"id":"components/schemas/AsyncExportCreateResponse","kind":"json-schema","title":"AsyncExportCreateResponse","data":{"type":"object","properties":{"jobId":{"type":"string","format":"uuid"},"status":{"$ref":"#/components/schemas/AsyncExportJobStatus"}}}},"components/schemas/AsyncExportStatusResponse":{"id":"components/schemas/AsyncExportStatusResponse","kind":"json-schema","title":"AsyncExportStatusResponse","data":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/AsyncExportJobStatus"},"downloadURL":{"type":"string","format":"uri","nullable":true}}}},"components/schemas/ExportType":{"id":"components/schemas/ExportType","kind":"json-schema","title":"ExportType","data":{"type":"string","enum":["SMART_STRENGTH_WORKOUTS","SMART_STRENGTH_ASSESSMENTS","FLEXIBILITY_MEASUREMENTS","BODY_MEASUREMENTS"]}},"components/schemas/AsyncExportFileType":{"id":"components/schemas/AsyncExportFileType","kind":"json-schema","title":"AsyncExportFileType","data":{"type":"string","enum":["JSON","JSONL","CSV"]}},"components/schemas/AsyncExportJobStatus":{"id":"components/schemas/AsyncExportJobStatus","kind":"json-schema","title":"AsyncExportJobStatus","data":{"type":"string","enum":["IN_PROGRESS","DONE","FAILED","EXPIRED"]}},"components/schemas/ErrorDTO":{"id":"components/schemas/ErrorDTO","kind":"json-schema","title":"ErrorDTO","data":{"type":"object","properties":{"message":{"type":"string"}}}},"schema_6":{"kind":"json-schema","data":{"type":"string","format":"date"},"id":"schema_6"},"schema_7":{"kind":"json-schema","data":{"type":"string"},"id":"schema_7"},"schema_8":{"kind":"json-schema","data":{"type":"string","format":"uuid"},"id":"schema_8"}},"exampleStore":{},"securitySchemeStore":{"apiKeyAuth":{"id":"apiKeyAuth","type":"apiKey","description":"API key generated by EGYM for a gym location.","in":"header","paramName":"x-api-key"}},"servers":[{"url":"/_mock/data-hub/api","isMockServer":true,"description":"Mock server"},{"url":"https://analytics.api.egym.com","description":"Production"}],"specType":"openapi"},"options":{"mockServer":{"url":"/_mock/data-hub/api","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/data-hub/api.json?download"},{"url":"/_bundle/data-hub/api.yaml?download"}],"excludeFromSearch":false,"replayFeatures":{"graphql":false},"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Data Hub API","description":"APIs for exporting analytics, Smart Strength workouts, and measurement data for the authenticated gym location. Daily data exports should be fetched at or after 09:00 UTC once overnight processing completes. Callers must store externalAccountId returned in user event exports so that member records can be mapped and deleted when members appear in the opted-out-users endpoint. Data Hub is in pilot and available exclusively to EGYM Enterprise Pack customers; functionality and API contracts may change."}},"baseSlug":"/data-hub/api","routesMapping":{}}