{"items":[{"type":"link","label":"Jigcar Public APIs","link":"/openapi-v1","routeSlug":"/openapi-v1"},{"type":"group","label":"Movement Requests","link":"/openapi-v1/movement-requests","routeSlug":"/openapi-v1/movement-requests","items":[{"label":"Create vehicle movement request","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-v1/movement-requests/createvehiclemovementrequestinplanningpool","routeSlug":"/openapi-v1/movement-requests/createvehiclemovementrequestinplanningpool","metadata":{"seo":{"title":"Create vehicle movement request","description":"Creates a movement request for the provided vehicle and sends it to an internal planning pool"}},"httpPath":"/movement-requests/create-in-planning-pool"},{"label":"Create vehicle movement request for direct dispatch","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-v1/movement-requests/createvehiclemovementrequestwith3pl","routeSlug":"/openapi-v1/movement-requests/createvehiclemovementrequestwith3pl","metadata":{"seo":{"title":"Create vehicle movement request for direct dispatch","description":"Creates a movement request for the provided vehicle and dispatches it directly to the chosen third-partylogistics provider, bypassing the internal planning pool. The provider must exist and must support therequested transport method. Possible 400 error codes include THIRD_PARTY_LOGISTICS_PROVIDER_NOT_FOUND(the supplied id does not match a 3PL) and PROVIDER_CANNOT_FULFIL_MOVEMENT (the 3PL does not supportthe requested transport method)."}},"httpPath":"/movement-requests/create-with-3pl"},{"label":"Get vehicle movement request","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-v1/movement-requests/getvehiclemovementrequestbyid","routeSlug":"/openapi-v1/movement-requests/getvehiclemovementrequestbyid","metadata":{"seo":{"title":"Get vehicle movement request","description":"Retrieves the current state of a vehicle movement request by id"}},"httpPath":"/movement-requests/{requestId}"},{"label":"Update vehicle movement request","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-v1/movement-requests/updatevehiclemovementrequestbyid","routeSlug":"/openapi-v1/movement-requests/updatevehiclemovementrequestbyid","metadata":{"seo":{"title":"Update vehicle movement request","description":"Updates specific details of a vehicle movement request by id. Omitting a property will leave it unchanged."}},"httpPath":"/movement-requests/{requestId}"}]},{"type":"group","label":"Infrastructure","link":"/openapi-v1/infrastructure","routeSlug":"/openapi-v1/infrastructure","items":[{"label":"Get all sites","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-v1/infrastructure/getallsites","routeSlug":"/openapi-v1/infrastructure/getallsites","metadata":{"seo":{"title":"Get all sites","description":"Retrieves all dealership locations stored within Jigcar"}},"httpPath":"/infrastructure/sites"},{"label":"Get all third-party logistics providers","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-v1/infrastructure/getall3pls","routeSlug":"/openapi-v1/infrastructure/getall3pls","metadata":{"seo":{"title":"Get all third-party logistics providers","description":"Retrieves all third-party logistics providers configured for the caller's profile. Use the returned idswith POST /v1/movement-requests/create-with-3pl to dispatch movements to a specific provider."}},"httpPath":"/infrastructure/providers/third-party"}]},{"type":"group","label":"Prep Jobs","link":"/openapi-v1/prep-jobs","routeSlug":"/openapi-v1/prep-jobs","items":[{"label":"Mark prep job as appraised","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-v1/prep-jobs/moveprepjobtoappraised","routeSlug":"/openapi-v1/prep-jobs/moveprepjobtoappraised","metadata":{"seo":{"title":"Mark prep job as appraised","description":"Transitions a prep job to the APPRAISED stage. Lookup by VIN or VRM (VIN takes precedence if both provided). At least one of vin or vrm must be provided."}},"httpPath":"/prep-jobs/appraised"},{"label":"Mark prep job as awaiting a movement request","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-v1/prep-jobs/moveprepjobtopendingmovementrequest","routeSlug":"/openapi-v1/prep-jobs/moveprepjobtopendingmovementrequest","metadata":{"seo":{"title":"Mark prep job as awaiting a movement request","description":"Transitions a prep job to the OUTBOUND stage with substage PENDING_MOVEMENT_REQUEST — the vehiclehas finished preparation (for example, photography is complete) but its outbound movement has notbeen requested yet. The job is promoted to OUTBOUND.SCHEDULED automatically once the movement iscreated. Lookup by VIN or VRM (VIN takes precedence if both provided); at least one must beprovided. The VRM is matched exactly as stored, with no whitespace normalisation — a VRM thatdiffers only in spacing will not match and returns 404. Repeating the call while the job is alreadyawaiting a movement returns 200 without any effect; calling it once a movement exists returns 400."}},"httpPath":"/prep-jobs/pending-movement-request"},{"label":"Create an inbound-pending prep job","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-v1/prep-jobs/createinboundpendingprepjob","routeSlug":"/openapi-v1/prep-jobs/createinboundpendingprepjob","metadata":{"seo":{"title":"Create an inbound-pending prep job","description":"Creates a prep job for a vehicle that has been purchased (for example at auction) but has nodestination prep site chosen yet. The job is created in stage INBOUND with substagePENDING_MOVEMENT_REQUEST and is parked until a prep site is assigned in Jigcar, at which pointan inbound movement is created and the job moves onto that site's board."}},"httpPath":"/prep-jobs/inbound-pending"}]},{"type":"link","label":"Jigcar webhooks","link":"/openapi-webhooks-v1","routeSlug":"/openapi-webhooks-v1"},{"type":"group","label":"Webhooks","link":"/openapi-webhooks-v1/webhooks","routeSlug":"/openapi-webhooks-v1/webhooks","items":[{"label":"List movement events","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi-webhooks-v1/webhooks/listmovementevents","routeSlug":"/openapi-webhooks-v1/webhooks/listmovementevents","metadata":{"seo":{"title":"List movement events","description":"Replays the webhook envelopes we published for your profile, newest first. Use it to confirm you processed everything: a consumer that acknowledges before it persists (a Power Automate flow answers 202 the moment the request lands) can lose an event without either side seeing a failure, and a retry cannot help once we have had a 2xx."}},"httpPath":"/movement-requests/events"},{"type":"separator","label":"Webhooks","variant":"secondary"},{"label":"Movement collected","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi-webhooks-v1/webhooks/webhookmovementcollected","routeSlug":"/openapi-webhooks-v1/webhooks/webhookmovementcollected","metadata":{"seo":{"title":"Movement collected","description":"The vehicle has been collected from the origin and is in transit."}},"httpPath":"movement.collected"},{"label":"Movement delivered","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi-webhooks-v1/webhooks/webhookmovementdelivered","routeSlug":"/openapi-webhooks-v1/webhooks/webhookmovementdelivered","metadata":{"seo":{"title":"Movement delivered","description":"The vehicle has been delivered to the destination. The normal terminal state."}},"httpPath":"movement.delivered"},{"label":"Movement cancelled","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi-webhooks-v1/webhooks/webhookmovementcancelled","routeSlug":"/openapi-webhooks-v1/webhooks/webhookmovementcancelled","metadata":{"seo":{"title":"Movement cancelled","description":"The movement was cancelled before it was carried out."}},"httpPath":"movement.cancelled"},{"label":"Movement aborted","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":true,"type":"link","link":"/openapi-webhooks-v1/webhooks/webhookmovementaborted","routeSlug":"/openapi-webhooks-v1/webhooks/webhookmovementaborted","metadata":{"seo":{"title":"Movement aborted","description":"The movement was abandoned after it had started, for example the vehicle was not on site."}},"httpPath":"movement.aborted"}]}]}