diff --git a/backend/main.py b/backend/main.py
index 62311616f237debb54991d311573dd939dc601b0..9b258941fc73c5050ae985c92b294ccf134f5293 100644
--- a/backend/main.py
+++ b/backend/main.py
@@ -149,6 +149,19 @@ def checkin_item_by_uuid(
     return utils.receive_item(db, item, storage)
 
 
+@app.get("/checkout/{item_uuid}", response_model=schemas.Item)
+def checkout_item(
+    item_uuid: str,
+    token: str = Depends(oauth2_scheme),
+    db: Session = Depends(get_db),
+):
+    check_token(token, None)
+    item = utils.get_item_by_uuid(db, UUID(item_uuid))
+    if item is None:
+        raise HTTPException(status_code=404, detail="Item not found")
+    return utils.deliver_item(db, item)
+
+
 @app.post("/token")
 def verify_supporter(form_data: OAuth2PasswordRequestForm = Depends()):
     if form_data.password != settings.shared_secret:
diff --git a/backend/utils.py b/backend/utils.py
index 390758e3b2b1488b057b32171596f174e7dbb6a8..1af30579ac65b1c5d628b8a425df451f6d94583d 100644
--- a/backend/utils.py
+++ b/backend/utils.py
@@ -113,3 +113,10 @@ def receive_item(db: Session, item: schemas.Item, storage: schemas.Storage):
     db.commit()
     db.refresh(item)
     return item
+
+
+def deliver_item(db: Session, item: schemas.Item):
+    item.deployed_at = datetime.now()
+    db.commit()
+    db.refresh(item)
+    return item