{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Vision API Integration Guide"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"vision-api-integration-guide","__idx":0},"children":["Vision API Integration Guide"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Vision API is implemented by camera and vision integration partners on their own infrastructure. Hauler Hero calls the partner's endpoints to request, list, and download truck-camera video — both on-demand clips tied to specific stops or work orders, and continuous recordings covering full routes."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":1},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You'll build and host this API on your own infrastructure, then share the URL and credentials with Hauler Hero."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A public URL reachable from the internet, subject to appropriate security controls."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["An ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["API-KEY"]}," that you issue to Hauler Hero. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/authentication"},"children":["Authentication"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"endpoints","__idx":2},"children":["Endpoints"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Three endpoints across two workflows:"]},{"$$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":"Endpoint"},"children":["Endpoint"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Workflow"},"children":["Workflow"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /video-hero/v1/videos/requests"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["On-demand"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Initiate video preparation for a specific clip"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /video-hero/v1/videos"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["On-demand"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List available (prepared) videos — used to poll request status"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /video-hero/v1/videos/continuous"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Continuous"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["List continuous recordings for a truck over a time range"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"on-demand-video-workflow","__idx":3},"children":["On-demand video workflow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Used when Hauler Hero needs a specific clip — for example, video tied to a stop or a work order."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Hauler Hero calls ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /video-hero/v1/videos/requests"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerId"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["truckId"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cameraId"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["startTime"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["endTime"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Your system begins discovery and preparation, returning ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["202 Accepted"]}," with a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requestId"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status: processing"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Hauler Hero polls ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /video-hero/v1/videos?requestId={requestId}"]}," to check whether the video is ready."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Once prepared, your response lists the video with a temporary ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["downloadUrl"]}," and an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt"]}," timestamp."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Hauler Hero downloads the file before the URL expires."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"continuous-video-workflow","__idx":4},"children":["Continuous video workflow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Used when a customer needs the full-route recording — continuous video chunked into constant time durations."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Hauler Hero calls ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /video-hero/v1/videos/continuous"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerId"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["truckId"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["startTime"]},", and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["endTime"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Your system returns a paginated list of recording chunks, each with its own temporary ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["downloadUrl"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Hauler Hero downloads the recordings before the URLs expire."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"implementation-requirements","__idx":5},"children":["Implementation requirements"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Your implementation must:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Be reachable from the internet on a public IP, with appropriate security controls."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Authenticate requests via the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["API-KEY"]}," header."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Support precise video source specification — customer, truck, and (where applicable) camera."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Accept time ranges in ISO 8601 format."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Return temporary download URLs with an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt"]}," giving Hauler Hero ample time to fetch the file."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Paginate list responses (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["page"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pageSize"]},", plus ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["totalItems"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["totalPages"]}," in the response)."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"request-parameters","__idx":6},"children":["Request parameters"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"post-video-herov1videosrequests","__idx":7},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /video-hero/v1/videos/requests"]}]},{"$$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":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Customer identifier"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["truckId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Truck identifier — ideally the same ID used for work-order and routing specification"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cameraId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Camera identifier. Use placement names (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["front"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rear"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["left"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["right"]},") or a numbering scheme (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["3"]},") — Hauler Hero accepts either"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["startTime"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO 8601 timestamp"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["endTime"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO 8601 timestamp"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"get-video-herov1videos","__idx":8},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /video-hero/v1/videos"]}]},{"$$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":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"In"},"children":["In"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Customer identifier"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["truckId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by truck"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cameraId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by camera"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["requestId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by a specific video request — used for polling a single request's status"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["startTime"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO 8601 lower bound"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["endTime"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO 8601 upper bound"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["page"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Default ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pageSize"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Default ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["20"]},", max ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["100"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"get-video-herov1videoscontinuous","__idx":9},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /video-hero/v1/videos/continuous"]}]},{"$$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":"Parameter"},"children":["Parameter"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"In"},"children":["In"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Required"},"children":["Required"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["customerId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Customer identifier"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["truckId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Truck identifier"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cameraId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by camera"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["startTime"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO 8601 start of range"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["endTime"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ISO 8601 end of range"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["page"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Default ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["pageSize"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["query"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Default ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["20"]},", max ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["100"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["See the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Schemas"]}," section of the Vision API reference for the exact response shapes."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"response-codes","__idx":10},"children":["Response codes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Shared across all three endpoints:"]},{"$$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":"Code"},"children":["Code"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Error code"},"children":["Error code"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Meaning"},"children":["Meaning"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"When your implementation should return this"},"children":["When your implementation should return this"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["200"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["202"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Success"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["202"]}," for accepted video requests, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["200"]}," for list endpoints"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["400"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["INVALID_PAYLOAD"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invalid parameters"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required field missing or malformed (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["startTime"]}," after ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["endTime"]},")"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["401"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UNAUTHORIZED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["API key invalid or missing"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["API-KEY"]}," header is missing or doesn't match what you issued"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["404"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NOT_FOUND"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Customer, truck, or camera not found"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No matching entity in your system"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["500"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["INTERNAL_ERROR"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unexpected error"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Log the incident for your own investigation"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"download-urls","__idx":11},"children":["Download URLs"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Download URLs are temporary — give Hauler Hero ample time to fetch the file and include an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["expiresAt"]}," timestamp on every URL so the caller knows how long it's valid."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"support","__idx":12},"children":["Support"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Integration questions: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"mailto:integrations@haulerhero.com"},"children":["integrations@haulerhero.com"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["API support: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"mailto:api-support@haulerhero.com"},"children":["api-support@haulerhero.com"]}]}]}]},"headings":[{"value":"Vision API Integration Guide","id":"vision-api-integration-guide","depth":1},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"Endpoints","id":"endpoints","depth":2},{"value":"On-demand video workflow","id":"on-demand-video-workflow","depth":2},{"value":"Continuous video workflow","id":"continuous-video-workflow","depth":2},{"value":"Implementation requirements","id":"implementation-requirements","depth":2},{"value":"Request parameters","id":"request-parameters","depth":2},{"value":"POST /video-hero/v1/videos/requests","id":"post-video-herov1videosrequests","depth":3},{"value":"GET /video-hero/v1/videos","id":"get-video-herov1videos","depth":3},{"value":"GET /video-hero/v1/videos/continuous","id":"get-video-herov1videoscontinuous","depth":3},{"value":"Response codes","id":"response-codes","depth":2},{"value":"Download URLs","id":"download-urls","depth":2},{"value":"Support","id":"support","depth":2}],"frontmatter":{"seo":{"title":"Vision API Integration Guide"}},"lastModified":"2026-04-23T21:39:41.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/vision-integration","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}