# External IDs
## External IDs

Footprint assigns every user, business, and onboarding a Footprint-generated ID (`fp_id_...`, `fp_bid_...`, and `ob_...`, respectively). You may track these resources with your own identifier in your own local database, which can be supplied at creation time as an `external_id`, `user_external_id`, or `onboarding_external_id`. This also helps guarantee that you only create, for example, one user in Footprint for each user in your database.

Any API path that accepts one of these resource IDs also accepts the corresponding external ID, prefixed with `ext_id:`. The prefix tells the API to resolve the value as an external ID within your organization rather than as a Footprint ID. External IDs must be unique within your organization.

Only users, businesses, and onboardings support the `ext_id:` prefix. Other path parameters — such as document, annotation, or rule-set-result IDs — must be provided as their Footprint IDs.

```bash filename="Example External ID usage"
# Retrieve a user by Footprint ID
GET /users/fp_id_LTBHFU5Z4jQmSsltuNtqCU

# ...or by external ID
GET /users/ext_id:my_user_42

# Retrieve a business
GET /businesses/fp_bid_fr7JHcV3hIzC7KbqTAsD3n
GET /businesses/ext_id:my_biz_42

# Retrieve an onboarding — both path params accept ext_id:
GET /users/fp_id_LTBHFU5Z4jQmSsltuNtqCU/onboardings/ob_abVwQ7Mqj8EER1TP8XC4J2
GET /users/ext_id:my_user_42/onboardings/ext_id:signup_2026_q1
```