Webhooks
List watches
GET
header
AuthorizationBearer <token>Authorization: Bearer lsk_live_…
active?booleanDefault
truelimit?integerRange
1 <= value <= 200Default
50cursor?stringWatches, newest first.
application/json- response
watches?array<>nextCursor?string|nullcurl -X GET 'https://api.lastscanned.com/v1/watches'Example Response
{ "watches": [ { "id": "string", "trackingNumber": "string", "carrier": "string", "status": "label_created", "active": true, "metadata": {}, "createdAt": "string", "checkedAt": "string", "nextCheckAt": "string", "endedAt": "string", "endReason": "delivered", "result": { "carrier": "ups", "trackingNumber": "string", "status": "label_created", "statusDescription": "string", "service": "string", "deliveredAt": "string", "deliveredAtLocal": "string", "signedBy": "string", "destination": { "city": "string", "state": "string", "country": "string" }, "estimatedDelivery": "string", "estimatedDeliveryAt": "string", "message": "string", "events": [ { "timestamp": "string", "localTime": "string", "status": "label_created", "description": "string", "location": "string", "code": "string" } ] }, "error": { "code": "bad_request", "message": "string" } } ], "nextCursor": "string"}Track several numbers GET
Up to 100 numbers per call and 35 per carrier. Duplicates are removed; numbers from different carriers can be mixed. `results` has one entry per number, in the order requested, each with either `result` or `error`; one bad number never fails the others. Counts each distinct number toward the account's usage.
Watch numbers POST
Looks the numbers up now and returns each watch with its current `result`, then re-checks them on a schedule and POSTs to the account's webhook whenever the status, newest event or estimate changes. A new watch counts as a tracked number; re-checks are free. A number already being watched keeps its watch (200 instead of 201).