Detrack
BUSINESS · TASKS
Delivery jobs, depots, routes, and reattempts in the account they connected.
Acts as the person, not as itself
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Credentials never touch the agent
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Every call on the record
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
detrack_delete_dn_depotsWRITEBulk delete depots via DELETE /dn/depots. DESTRUCTIVE AND IRREVERSIBLE: permanently delete the depots you name. This tool takes a REQUIRED, non-empty `depots` array -- one entry per depot, `name` required -- and there is deliberately no way to express a call that names no depot: Detrack's route is addressed at the whole collection and only the body narrows it. Detrack answers 200 with a per-depot `deleted` flag, so a partial success is normal and must be read entry by entry. Deleting a depot a planned route starts or ends at leaves that route pointing at something that no longer exists, so check the routes for the affected dates first. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_delete_dn_jobsWRITEBatch delete jobs via DELETE /dn/jobs. DESTRUCTIVE AND IRREVERSIBLE: permanently delete the jobs you name, each by its D.O. number. Update / Delete up to 100 jobs per request. This tool takes a REQUIRED, non-empty `jobs` array -- one entry per job, `do_number` required, with `date` and `type` to disambiguate a D.O. number used on more than one job -- and there is deliberately no way to express a call that names no job: Detrack's route is addressed at the whole collection and only the body narrows it. Detrack answers 200 with a per-job `ok` flag and 422 with `code: deletion_failed` plus an `errors[]` list naming the undeletable ones, so a partial success is normal and must be read entry by entry. Read the jobs first if you may need them: nothing here restores one. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_delete_dn_jobs_by_do_numberWRITEDelete job via DELETE /dn/jobs/{do_number}. DESTRUCTIVE AND IRREVERSIBLE: permanently delete one job addressed by its D.O. number in the path, optionally narrowed by `type`. Detrack answers 204 with no body, so confirm by re-reading rather than by the status. If the same D.O. number exists on several dates, use the date-addressed delete instead of guessing which one this reaches. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_delete_dn_jobs_by_do_number_by_dateWRITEDelete job for a date via DELETE /dn/jobs/{do_number}/{date}. DESTRUCTIVE AND IRREVERSIBLE: permanently delete the job with this D.O. number on this date (YYYY-MM-DD). This is the precise address -- prefer it over the D.O.-only delete whenever the number may be reused. Detrack answers 204 with no body, so confirm by re-reading rather than by the status. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_delete_dn_jobs_deleteWRITEDelete job by D.O. number via DELETE /dn/jobs/delete. DESTRUCTIVE AND IRREVERSIBLE: permanently delete one job, addressed by the required `do_number` query parameter, with `date` and `type` to disambiguate a D.O. number used more than once. Detrack answers 204 with no body, so confirm the deletion by re-reading the job or the day's list rather than by the status alone. Nothing here restores it. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_get_dn_depotsREADList depots via GET /dn/depots. List the account's depots -- the fixed origins and destinations a route is planned from. Page with `page` and `limit`. Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_get_dn_jobsREADList jobs via GET /dn/jobs. List the account's jobs, newest page first, filtered by any combination of date, type, driver, status, D.O. number and free-text query. Page through with `page` and `limit` (maximum 100 per page) and follow `links.next` until it is null rather than stopping on a short page. Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_get_dn_jobs_by_do_numberREADRetrieve job via GET /dn/jobs/{do_number}. Retrieve one job by its D.O. number in the path, optionally narrowed to a `Delivery` or a `Collection`. Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_get_dn_jobs_by_do_number_by_dateREADRetrieve job for a date via GET /dn/jobs/{do_number}/{date}. Retrieve the job with this D.O. number ON THIS DATE (YYYY-MM-DD), which is the unambiguous address when a D.O. number is reused across days. Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_get_dn_jobs_export_status_by_idREADGet batch export status via GET /dn/jobs/export/status/{id}. Check a queued export and collect its download URL. This is for checking the progress of the batch export. It will provide a download URL once exporting has completed. You may then use the download URL to download the exported file. NOTE WHAT THAT URL IS: a pre-signed storage link that grants the exported file to ANYONE who holds it, without a Detrack credential, until it expires a few minutes later (the vendor's own example carries `X-Amz-Expires=900`). Treat it as short-lived shared-secret material -- fetch it and discard it rather than storing it or passing it on. Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_get_dn_jobs_showREADRetrieve job by D.O. number via GET /dn/jobs/show. Retrieve one job by its D.O. number, passed in the query string. Add `date` and `type` when the same D.O. number is used on more than one job. Prefer this over the path-addressed retrieve when the D.O. number contains characters that are awkward in a URL path. Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. UNVERIFIED ROUTING: Detrack's own API description writes this path with a trailing slash and Agentic Fabriq sends it without one. If this tool answers 404 where you expected data, that spelling is the first thing to suspect and not a missing record.
detrack_get_dn_routesREADList routes for a date via GET /dn/routes. List the routes planned for one date (YYYY-MM-DD, required), with their vehicles, depots and stop sequences. Page with `page` and `limit` (maximum 100). Reads only; changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential. UNVERIFIED ROUTING: Detrack's own API description writes this path with a trailing slash and Agentic Fabriq sends it without one. If this tool answers 404 where you expected data, that spelling is the first thing to suspect and not a missing record.
detrack_post_dn_depotsWRITECreate depot via POST /dn/depots. Create one depot. A depot must include at least a name and an address that can be geocoded. The name is the depot's business key: the bulk update and bulk delete tools address depots by name, and a route's `depot_location` may name one, so a name that collides with an existing depot makes both ambiguous. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_post_dn_depots_bulkWRITEBulk create depots via POST /dn/depots/bulk. Create several depots in one request. Create multiple depot locations in one request. Each entry needs at least a name and a geocodable address; Detrack answers with a per-depot outcome, so read the response entry by entry. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_post_dn_jobsWRITECreate job via POST /dn/jobs. Create one delivery or collection job. `do_number`, `date` and `address` are required; every other Job attribute is optional and is listed in the input schema. The D.O. number is the job's business key on this API -- every retrieve, update and delete tool addresses a job by it -- so reusing one for a second job on the same date makes both unaddressable. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_post_dn_jobs_bulkWRITEBatch create jobs via POST /dn/jobs/bulk. Create many jobs in one request. Create up to 100 jobs per request. Each item is a whole Job object with `do_number`, `date` and `address` required. A 422 reports per-item outcomes rather than failing the batch, so read the response's `data` array item by item instead of trusting the status alone. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_post_dn_jobs_bulk_exportREADStart batch export via POST /dn/jobs/bulk/export. Queue an export of shipping labels or proof-of-delivery documents for a list of jobs. This is for exporting of shipping labels or pod in batches by providing a list of DO number in the query object and an optional date. Limited to 1000 jobs per request. Nothing is returned but an export id -- poll detrack_get_dn_jobs_export_status_by_id with it until the status reads completed. Queuing an export changes nothing in the operation: no job, depot or route is touched, only an export record is created for you to poll. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_post_dn_jobs_reattemptWRITEReattempt job via POST /dn/jobs/reattempt. Schedule a new delivery or collection attempt for a job that was not completed. Name the job by `do_number` (plus `date` and `type` to disambiguate) and give `new_date` when the reattempt is for a different day. This creates work in the operation, so check the job's current status first. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_post_dn_jobs_searchREADSearch jobs via POST /dn/jobs/search. Search jobs across a rich set of criteria the list tool does not offer -- date and start-date ranges, customer, address, contact, groups, vehicles, item fields, reasons, statuses, zone, run and invoice numbers. Page with `page` and `limit` (maximum 100) inside the `data` object and follow `links.next`. This is a POST because the criteria are a document, not because it writes: it reads only and changes nothing. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_post_dn_routes_planWRITEPlan or replan a route via POST /dn/routes/plan. Plan a route over a set of jobs, or replan an existing one. Creates a new route or updates an existing one if a route with the same name and date already exists. This endpoint performs planning and routing operations, assigning jobs to a route and automatically computing an optimized sequence. THIS REASSIGNS WORK: the jobs in `job_ids` are attached to this route's vehicles in the computed order, and replanning an existing route by reusing its name and date replaces what was there. `name`, `date`, `vehicles`, `job_ids` and `depot_location` are required, and vehicle working hours are configured in the Detrack application rather than sent here. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_put_dn_depotsWRITEBulk update depots via PUT /dn/depots. Update many depots in one request, each addressed by `name`, carrying a `data` object with only the fields to change. Detrack answers 200 with a per-depot `ok` flag, so read the response entry by entry rather than trusting the status. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_put_dn_jobsWRITEBatch update jobs via PUT /dn/jobs. Update many jobs in one request, each addressed by its D.O. number. Update / Delete up to 100 jobs per request. Each entry carries the `do_number` to match, an optional `date` and `type` to disambiguate it, and a `data` object holding ONLY the fields to change -- this is a partial update, not a replacement. Set `overwrite` to true on an entry to let it modify a job that is already completed. A 422 reports per-entry outcomes in `data[].ok` and names the failures in `errors[]`, so a non-200 does not mean nothing changed. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_put_dn_jobs_by_do_numberWRITEUpdate job via PUT /dn/jobs/{do_number}. Update one job addressed by its D.O. number in the path, sending the job under `data`. SEND A COMPLETE JOB, not a sparse patch: the sealed contract marks `do_number`, `date` and `address` required here and its own example sends the whole record, and whether a partial body is accepted on this route is not documented. When you want a field-level update instead, use detrack_put_dn_jobs_update, which Detrack documents as taking only the fields to change. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_put_dn_jobs_by_do_number_by_dateWRITEUpdate job for a date via PUT /dn/jobs/{do_number}/{date}. Update the job with this D.O. number on this date (YYYY-MM-DD), sending the job under `data`. SEND A COMPLETE JOB, not a sparse patch: the sealed contract marks `do_number`, `date` and `address` required here and its own example sends the whole record, and whether a partial body is accepted on this route is not documented. When you want a field-level update instead, use detrack_put_dn_jobs_update. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
detrack_put_dn_jobs_updateWRITEUpdate job by D.O. number via PUT /dn/jobs/update. Update one job, addressed by the `do_number` in the request body, with `date` and `type` to disambiguate. Send under `data` ONLY the fields to change -- this is a partial update, not a replacement, and omitted fields are left alone. Detrack publishes no sandbox: this runs against the live operation that drivers and customers are looking at. Detrack allows 60 requests per minute per account and answers 429 beyond that; a 429 means slow down and is never a problem with the credential.
Often connected alongside
Put Detrack behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.