# Detrack V2 API - [Detrack REST API v2](https://detrack.mintlify.app/index.md): Detrack REST API v2 lets you create jobs, manage depots, plan routes, and track deliveries in real time from any application. - [Quickstart: Create your first Detrack job in minutes](https://detrack.mintlify.app/quickstart.md): Authenticate with your Detrack API key and create your first delivery job with a single POST request in under five minutes. - [Authentication: Pass X-API-KEY on every Detrack API request](https://detrack.mintlify.app/authentication.md): Detrack API v2 authenticates every request with an API key sent in the X-API-KEY header. Learn where to get your key and how to use it. - [Error codes: HTTP statuses returned by the Detrack API](https://detrack.mintlify.app/errors.md): Reference for every HTTP status code the Detrack API v2 returns, what causes each one, and how your integration should respond. - [Rate limits and request volume on the Detrack API](https://detrack.mintlify.app/rate-limits.md): How to keep request volume low on the Detrack API v2 with bulk endpoints and sensible polling, and how to handle a 429 response if you receive one. - [Jobs: The delivery and collection object in Detrack](https://detrack.mintlify.app/concepts/jobs.md): A Job is a single delivery or collection in Detrack. Learn its identifiers, fields, items, milestones, and lifecycle. - [Depots: Warehouse and pickup locations for Detrack routes](https://detrack.mintlify.app/concepts/depots.md): A Depot is a saved warehouse or pickup location in Detrack, used as the start or end point when planning driver routes. - [Routes: Multi-stop delivery plans for Detrack drivers](https://detrack.mintlify.app/concepts/routes.md): A Route assigns jobs to drivers with an optimized sequence, start depot, and time window. Learn how Detrack computes and returns routes. - [List jobs](https://detrack.mintlify.app/api-reference/jobs/list.md): GET /dn/jobs returns a paginated list of delivery and collection jobs with filters for date, status, assignee, and DO number. - [Create a job](https://detrack.mintlify.app/api-reference/jobs/create.md): POST /dn/jobs creates a single delivery or collection job. Only do_number and date are always required. Returns 201 Created. - [Bulk create jobs](https://detrack.mintlify.app/api-reference/jobs/bulk-create.md): Create up to 100 delivery or collection jobs in a single request using the Detrack REST API v2 POST /dn/jobs/bulk endpoint. - [Bulk update jobs](https://detrack.mintlify.app/api-reference/jobs/bulk-update.md): Update up to 100 jobs in one request using PUT /dn/jobs. Partial failures return validation errors per row so you can retry only the affected jobs. - [Bulk delete jobs](https://detrack.mintlify.app/api-reference/jobs/bulk-delete.md): Delete up to 100 jobs in one request using DELETE /dn/jobs. The API returns per-row results, and partial failures include a deletion_failed code with specific error reasons. - [Bulk export PODs or shipping labels](https://detrack.mintlify.app/api-reference/jobs/bulk-export.md): Queue an async POD or shipping label export using POST /dn/jobs/bulk/export. Poll the returned status URL to retrieve the download link. - [Get bulk export status](https://detrack.mintlify.app/api-reference/jobs/get-export-status.md): Poll GET /dn/jobs/export/status/{id} to check whether an async bulk export is completed and to obtain a time-limited signed download URL. - [Retrieve a job](https://detrack.mintlify.app/api-reference/jobs/retrieve.md): GET /dn/jobs/show/?do_number={} retrieves a single job by its DO number, with optional date and type filters. - [Update a job](https://detrack.mintlify.app/api-reference/jobs/update.md): PUT /dn/jobs/update modifies a single job by its DO number. Provide do_number, optional date and type, and a data object with the fields to change. - [Delete a job](https://detrack.mintlify.app/api-reference/jobs/delete.md): DELETE /dn/jobs/delete?do_number={} removes a single job by DO number. Returns 204 No Content on success. - [Reattempt a job](https://detrack.mintlify.app/api-reference/jobs/reattempt.md): POST /dn/jobs/reattempt schedules a new attempt for a failed job. Requires do_number and returns the new attempt as a job. - [Download a job document](https://detrack.mintlify.app/api-reference/jobs/export.md): Download a POD or shipping label for one job using GET /dn/jobs/export. Returns the raw file as an octet-stream attachment. - [Search jobs](https://detrack.mintlify.app/api-reference/jobs/search.md): Run rich filtered searches across jobs using POST /dn/jobs/search. Supports date ranges, status filters, groups, vehicles, and item-level criteria. - [List depots](https://detrack.mintlify.app/api-reference/depots/list.md): GET /dn/depots returns a paginated list of depot locations in your account with geocoded coordinates and navigation links. - [Retrieve a depot](https://detrack.mintlify.app/api-reference/depots/retrieve.md): GET /dn/depots/{name} returns a single depot object, including geocoded location and address fields. - [Create a depot](https://detrack.mintlify.app/api-reference/depots/create.md): POST /dn/depots creates one depot. Supply a name and a geocodable address; the API returns geocoded latitude and longitude. - [Bulk create depots](https://detrack.mintlify.app/api-reference/depots/bulk-create.md): POST /dn/depots/bulk creates multiple depots at once. Each entry needs a name and geocodable address; the API returns geocoded data for all. - [Bulk update depots](https://detrack.mintlify.app/api-reference/depots/bulk-update.md): PUT /dn/depots updates multiple depots at once by specifying the depot name and the fields to change. - [Bulk delete depots](https://detrack.mintlify.app/api-reference/depots/bulk-delete.md): DELETE /dn/depots removes multiple depots at once by submitting a list of depot names. - [List routes](https://detrack.mintlify.app/api-reference/routes/list.md): GET /dn/routes lists all routes for a given date with pagination. Returns vehicles, planned jobs, distance, time, and status per route. - [Retrieve a route](https://detrack.mintlify.app/api-reference/routes/retrieve.md): GET /dn/routes/{name} looks up route plans by name. Returns matching plans newest first, each with its per-vehicle planned routes. - [Plan a route](https://detrack.mintlify.app/api-reference/routes/plan.md): POST /dn/routes/plan creates a route or updates an existing one by name and date, then returns the optimized plan with sequenced jobs. ## OpenAPI Specs - [openapi](/openapi.yaml) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.