# IDs

Public IDs are typed. The prefix tells you what the object is, and the rest is an encoded, time-ordered identifier.

```text
evt_01JB3K...   event
tkt_01JB3K...   ticket
ls_01JB3K...    live stream
cus_01JB3K...   customer
ord_01JB3K...   order
```

## Rules

- Treat an ID as an opaque string. Do not parse it, and do not assume its length.
- Store it in a text column.
- An unknown prefix returns `404`.
- IDs are the same in test and live, but an object only exists in the environment where it was created.
- IDs sort roughly by creation time, so newer objects tend to sort after older ones.

## Bring your own IDs

You do not have to store ours. Every object accepts an `external_id`, and you can fetch it back with it.

```http
GET /v1/orders/external/your_order_8842
```

See [metadata and external_id](https://docs.vabu.live/concepts/metadata.md).
