Pull Tracking Updates from 17TRACK
POST/api/integrations/17track/instances/:instance/refresh
Queue an immediate sync from 17TRACK — the same run as the scheduled poll that happens every 6 hours. It re-fetches the latest status for every active tracking that has been registered with 17TRACK, is not yet in a final state and whose last carrier event is older than 12 hours (or that has no event yet), in batches of 40, updates those trackings, and stamps the instance's last poll time.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
The sync runs in the background: the response returns data.tracked_job_log_id, the background job to follow for progress and the result. Nothing is fetched when inbound tracking sync is turned off in the instance's sync settings (the job completes as skipped).
Activity log: records manual_refresh_triggered (with the acting user), then poll_completed with the number of trackings updated.
Responses:
200 OK— sync queued403 Forbidden— missing theintegrations.syncpermission404 Not Found— instance id does not exist
Requires the integrations.sync permission.
Authentication: Bearer token (Personal Access Token).
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden
Response Headers
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Validation failed — the body is a field → messages map (Laravel shape) or the platform envelope with a stable machine-readable code. Fix the payload and resubmit.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.