{"items":[{"type":"link","label":"Site API","link":"/site","routeSlug":"/site","content":{"contentType":"overview","meta":{"name":"Site API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"site.json","url":"/_bundle/site.json?download"},{"kind":"download","label":"site.yaml","url":"/_bundle/site.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[]},{"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/site","description":"Mock server","isMockServer":true},{"url":"https://api.yourcompany.com"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Site API (1.0.0)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Site API is implemented by integration partners on their own infrastructure. Hauler Hero calls the partner's endpoint to synchronize disposal sites, kiosks, and materials. See the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/site-integration"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Site API Integration Guide"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for implementation requirements and the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"/site-data-model"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Data Model"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for entity relationships."},"children":[]}]}]}]}],"sectionId":"/site"}],"sectionId":"/site"}]}]}},{"label":"Get Sites, Kiosks, and materials","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/site/other/getsitedata","routeSlug":"/site/other/getsitedata","metadata":{"seo":{"title":"Get Sites, Kiosks, and materials","description":"Retrieve all sites, kiosks, and materials for a specific hauler"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getSiteData","name":"Get Sites, Kiosks, and materials","isWebhook":false,"pointer":"/paths/~1scale-hero~1v1~1sites/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Sites, Kiosks, and materials","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve all sites, kiosks, and materials for a specific hauler"},{"nodeType":"security","requirements":[{"schemes":[{"name":"apiKey","scopes":[],"type":"apiKey","in":"header","paramName":"API-KEY","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API key for authenticating requests."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To obtain an API key:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contact your account manager"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Email: api-support@haulerhero.com"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Include in request header: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"API-KEY: your_api_key_here"},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"haulerId","in":"query","schemaId":"schema_5","description":"Unique identifier for the hauler","required":true,"example":"123e4567-e89b-12d3-a456-426614174000"}],"pointer":"/paths/~1scale-hero~1v1~1sites/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/scale-hero/v1/sites","servers":[{"url":"/_mock/site","description":"Mock server","isMockServer":true},{"url":"https://api.yourcompany.com"}],"parameters":{"path":[],"query":[{"name":"haulerId","in":"query","required":true,"example":"123e4567-e89b-12d3-a456-426614174000","schemaId":"schema_5"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apiKey","type":"apiKey","name":"API-KEY","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/scale-hero/v1/sites","href":"other/getsitedata","openApiOperationId":"getSiteData","summary":"Get Sites, Kiosks, and materials"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/site","description":"Mock server","isMockServer":true},{"url":"https://api.yourcompany.com"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Sites, kiosks, and materials retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSitesResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/200/content/application~1json/example"]}},"schemaId":"components/schemas/GetSitesResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/200/content/application~1json/example"]},{"code":"400","description":"Bad request - Invalid parameters","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/400/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/400/content/application~1json/example"]},{"code":"401","description":"Unauthorized - Invalid or missing authentication","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/401/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/401/content/application~1json/example"]},{"code":"404","description":"Not found - Hauler not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/404/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/404/content/application~1json/example"]},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/500/content/application~1json/example"]}},"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/500/content/application~1json/example"]}],"pointer":"/paths/~1scale-hero~1v1~1sites/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/GetSitesResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GetSitesResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/200/content/application~1json/example"]}}},{"code":"400","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/400/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/400/content/application~1json/example"]}}},{"code":"401","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/401/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/401/content/application~1json/example"]}}},{"code":"404","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/404/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/404/content/application~1json/example"]}}},{"code":"500","schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/500/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/ErrorResponse","exampleIds":["paths/~1scale-hero~1v1~1sites/get/responses/500/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/other/getsitedata"}],"panels":[]}]},"httpPath":"/scale-hero/v1/sites"}],"store":{"schemaStore":{"components/schemas/SiteData":{"id":"components/schemas/SiteData","kind":"json-schema","title":"SiteData","data":{"type":"object","properties":{"sites":{"type":"array","description":"List of sites for the hauler","items":{"$ref":"#/components/schemas/Site"}},"kiosks":{"type":"array","description":"List of kiosks associated with the sites","items":{"$ref":"#/components/schemas/Kiosk"}},"materials":{"type":"array","description":"List of materials available at the kiosks / sites","items":{"$ref":"#/components/schemas/Material"}}}}},"components/schemas/GetSitesResponse":{"id":"components/schemas/GetSitesResponse","kind":"json-schema","title":"GetSitesResponse","data":{"type":"object","required":["success","data"],"properties":{"success":{"type":"boolean","description":"Whether the request was successful","example":true},"data":{"$ref":"#/components/schemas/SiteData"}}}},"components/schemas/Site":{"id":"components/schemas/Site","kind":"json-schema","title":"Site","data":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the site","example":"64318450-1ce2-499d-8a70-f313aabe1831"},"name":{"type":"string","description":"Name of the site","example":"GTest Site 11","maxLength":255},"address":{"$ref":"#/components/schemas/Address"},"active":{"type":"boolean","description":"Whether the site is currently active","example":true},"updatedAt":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the site was last updated","example":"2024-10-21T15:30:00Z"}}}},"components/schemas/Address":{"id":"components/schemas/Address","kind":"json-schema","title":"Address","data":{"type":"object","required":["line1","city","state","country","zipCode"],"properties":{"line1":{"type":"string","description":"Primary address line","example":"1250 Riverside Drive","maxLength":255},"city":{"type":"string","description":"City name","example":"Austin","maxLength":100},"state":{"type":"string","description":"State or province","example":"Texas","maxLength":100},"country":{"type":"string","description":"Country name","example":"United States","maxLength":100},"zipCode":{"type":"string","description":"Postal/ZIP code","example":"78701","maxLength":20}}}},"components/schemas/Kiosk":{"id":"components/schemas/Kiosk","kind":"json-schema","title":"Kiosk","data":{"type":"object","required":["id","siteId","name"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the kiosk","example":"d3f3f3e3-1f2e-4f2b-8f7a-5e3b6c4d2a1b"},"siteId":{"type":"string","format":"uuid","description":"Foreign key reference to the parent site","example":"64318450-1ce2-499d-8a70-f313aabe1831"},"name":{"type":"string","description":"Name of the kiosk","example":"GTest Kiosk 11","maxLength":255},"active":{"type":"boolean","description":"Whether the kiosk is currently active","example":true},"updatedAt":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the kiosk was last updated","example":"2024-10-21T15:30:00Z"}}}},"components/schemas/Material":{"id":"components/schemas/Material","kind":"json-schema","title":"Material","data":{"type":"object","required":["id","materialType","measureUnit"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the material","example":"a51b814b-1b23-4f28-8c2a-b90030340eea"},"siteId":{"type":"string","format":"uuid","description":"Foreign key reference to the parent site. \nRequired if your system does NOT use kiosks and materials are linked directly to sites.\nEither siteId or kioskId must be provided, not both.\n","example":"64318450-1ce2-499d-8a70-f313aabe1831"},"kioskId":{"type":"string","format":"uuid","description":"Foreign key reference to the parent kiosk.\nRequired if your system uses kiosks and materials are linked to kiosks.\nEither siteId or kioskId must be provided, not both.\n","example":"d3f3f3e3-1f2e-4f2b-8f7a-5e3b6c4d2a1b"},"materialType":{"type":"string","description":"Type/category of material","example":"Appliance","maxLength":100},"measureUnit":{"type":"string","description":"Unit of measurement for the material","example":"Item","enum":["Item","Ton","Pound","Kilogram","Cubic Yard","Cubic Meter"]},"active":{"type":"boolean","description":"Whether the material is currently active/available","example":true},"updatedAt":{"type":"string","format":"date-time","description":"ISO 8601 timestamp when the material was last updated","example":"2024-10-21T15:30:00Z"}}}},"components/schemas/ErrorResponse":{"id":"components/schemas/ErrorResponse","kind":"json-schema","title":"ErrorResponse","data":{"type":"object","required":["success","error"],"properties":{"success":{"type":"boolean","description":"Always false for errors","example":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code","example":"INVALID_PAYLOAD","enum":["INVALID_PAYLOAD","UNAUTHORIZED","INTERNAL_ERROR","VALIDATION_ERROR","NOT_FOUND"]},"message":{"type":"string","description":"Human-readable error message","example":"Missing required field: eventId"},"details":{"type":"object","description":"Additional error details (optional)","additionalProperties":true}}}}}},"schema_5":{"kind":"json-schema","data":{"type":"string","format":"uuid"},"id":"schema_5"}},"exampleStore":{"paths/~1scale-hero~1v1~1sites/get/responses/200/content/application~1json/example":{"value":{"success":true,"data":{"sites":[{"id":"64318450-1ce2-499d-8a70-f313aabe1831","name":"GTest Site 11","address":{"line1":"1250 Riverside Drive","city":"Austin","state":"Texas","country":"United States","zipCode":"78701"},"active":true,"updatedAt":"2024-10-21T15:30:00Z"}],"kiosks":[{"id":"d3f3f3e3-1f2e-4f2b-8f7a-5e3b6c4d2a1b","siteId":"64318450-1ce2-499d-8a70-f313aabe1831","name":"GTest Kiosk 11","active":true,"updatedAt":"2024-10-21T15:30:00Z"}],"materials":[{"id":"a51b814b-1b23-4f28-8c2a-b90030340eea","kioskId":"d3f3f3e3-1f2e-4f2b-8f7a-5e3b6c4d2a1b","siteId":"64318450-1ce2-499d-8a70-f313aabe1831","materialType":"Appliance","measureUnit":"Item","active":true,"updatedAt":"2024-10-21T15:30:00Z"}]}},"id":"paths/~1scale-hero~1v1~1sites/get/responses/200/content/application~1json/example"},"paths/~1scale-hero~1v1~1sites/get/responses/400/content/application~1json/example":{"value":{"success":false,"error":{"code":"INVALID_PAYLOAD","message":"Invalid haulerId format"}},"id":"paths/~1scale-hero~1v1~1sites/get/responses/400/content/application~1json/example"},"paths/~1scale-hero~1v1~1sites/get/responses/401/content/application~1json/example":{"value":{"success":false,"error":{"code":"UNAUTHORIZED","message":"Invalid API key"}},"id":"paths/~1scale-hero~1v1~1sites/get/responses/401/content/application~1json/example"},"paths/~1scale-hero~1v1~1sites/get/responses/404/content/application~1json/example":{"value":{"success":false,"error":{"code":"NOT_FOUND","message":"Hauler not found"}},"id":"paths/~1scale-hero~1v1~1sites/get/responses/404/content/application~1json/example"},"paths/~1scale-hero~1v1~1sites/get/responses/500/content/application~1json/example":{"value":{"success":false,"error":{"code":"INTERNAL_ERROR","message":"An unexpected error occurred while retrieving the data"}},"id":"paths/~1scale-hero~1v1~1sites/get/responses/500/content/application~1json/example"}},"securitySchemeStore":{"apiKey":{"id":"apiKey","type":"apiKey","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API key for authenticating requests."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To obtain an API key:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Contact your account manager"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Email: api-support@haulerhero.com"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Include in request header: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"API-KEY: your_api_key_here"},"children":[]}]}]}],"in":"header","paramName":"API-KEY"}},"servers":[{"url":"/_mock/site","isMockServer":true,"description":"Mock server"},{"url":"https://api.yourcompany.com"}]},"options":{"hideSidebar":true,"mockServer":{"url":"/_mock/site","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/site.json?download"},{"url":"/_bundle/site.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Site API","description":"The Site API is implemented by integration partners on their own infrastructure. Hauler Hero calls the partner's endpoint to synchronize disposal sites, kiosks, and materials. See the [Site API Integration Guide](/site-integration) for implementation requirements and the [Data Model](/site-data-model) for entity relationships.\n"}},"baseSlug":"/site","routesMapping":{}}