---
title: Introduction
description: Learn what the Delivery API does, what to know before you use it, and where to start.
url: http://delivery-api.thally.app/
---

# Introduction

Learn what the Delivery API does, what to know before you use it, and where to start.

## Start here

#### [Make your first request](/quickstart)

    Get a token, list deliveries, and filter the results in three steps.

#### [Find the right driver](/guides/find-the-right-driver)

    Match a pending delivery with an available driver.

#### [Authenticate your requests](/authentication)

    Learn how the bearer token works and how to fix `401` errors.

#### [Browse the API reference](/api)

    See every endpoint and try requests from your browser.

## What you can do

The Delivery API has 52 endpoints across eight groups: Auth, Deliveries,
Drivers, Parcels, Hubs, Reports, Assignments, and Tracking. With it, you can:

- List deliveries and filter them by status
- Check which drivers are available and what vehicles they use
- Look up parcels, hubs, and delivery tracking details
- Assign drivers to deliveries

## Base URL

All requests use the same base URL:

```text
https://mock-delivery-api.onrender.com
```

Every request except login needs a bearer token. See
[Authentication](/authentication) to get one.

## Supported tools

You can call the API from any HTTP client, such as `curl`, Postman, Insomnia,
or your own code. The examples in these docs use `curl`.

## Things to know before you start

> **This is a mock API:**
  The Delivery API is built for learning and testing, so it behaves differently
  from a production API in a few ways.

- **Data isn't saved.** Data lives in memory only. `POST`, `PATCH`, and
  `DELETE` requests return `{"success": true}` but don't change any data.
- **Some requests fail on purpose.** About 1 in 10 `GET` requests returns a
  `500` error. If you get one, send the request again.
- **Missing resources return an empty object.** If you request an ID that
  doesn't exist, you get `{}` instead of a `404` error. Check that the
  response isn't empty before you use it.
- **Everyone uses the same test token.** The token is the same for all users,
  so don't send real or private data.

## Ready to start?

Make your first request in a few minutes, or explore every endpoint in the
API reference.