> For the complete documentation index, see [llms.txt](https://docs.terminal.africa/tship/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.terminal.africa/tship/address.md).

# Addresses

The Addresses API allows you to create and manage pickup and delivery locations.

### Sender address verification (NIN)

Some carriers require a **NIN-verified pickup (sender) address** before a shipment can be booked.

#### How it works

1. Create or update an address and optionally pass an 11-digit Nigerian `nin`.
2. Terminal verifies the NIN with our identity provider and checks that the address `first_name` and `last_name` match the name on the NIN.
3. On success, the address is marked `verified: true`. The NIN is **never returned** in API responses.
4. If you use the same NIN again for another address on your account (with matching names), verification is reused - you are not charged again.

#### Rules

* `nin` is **write-only** (create / update of an unverified address). It is not included in responses.
* Once an address is `verified`, you **cannot** pass `nin`, `first_name`, or `last_name` on update.
* You can also verify an existing unverified address via `POST /v1/addresses/:address_id/verify-nin` with `{ "nin": "xxxxxxxxxx" }`.

#### Booking

When getting rates, check `requires_sender_verification` on the rate (and carrier).\
If it is `true` and the pickup address is not `verified`, arranging the shipment will fail with an error asking you to verify the pickup address with NIN.

### The Address Object

This section describes the different attributes available for an address.

| address\_id     | *string*       | Unique reference for address.                                                                                           |
| --------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------- |
| city            | *string*       | Valid address [city](/tship/miscallaneous/cities.md).                                                                   |
| coordinates     | *object*       | Geo coordinates for address.                                                                                            |
| coordinates.lat | *number*       | Latitude for address coordinates                                                                                        |
| coordinates.lng | *number*       | Longitude for address coordinates                                                                                       |
| country         | *string*       | ISO 2 [country](/tship/miscallaneous/countries.md) code for address. e.g. NG                                            |
| email           | *string*       | Email of person at address.                                                                                             |
| first\_name     | *string*       | First name of person at address.                                                                                        |
| is\_residential | *boolean*      | Indicates if address is a residential address or not.                                                                   |
| last\_name      | *string*       | Last name of person at address.                                                                                         |
| line1           | *string*       | Street address.                                                                                                         |
| line2           | *string*       | Second line of street address.                                                                                          |
| metadata        | *object*       | Provide additional information for an address.                                                                          |
| name            | *string*       | Full name of person at address.                                                                                         |
| phone           | *string*       | International phone number for person at address. Must match country provided.                                          |
| place\_id       | *string*       | Unique google place id for address location.                                                                            |
| state           | *string*       | Valid address [state](/tship/miscallaneous/states.md).                                                                  |
| zip             | *string*       | Zip / Postal code for address.                                                                                          |
| verified        | boolean        | Whether this address has completed NIN sender verification.                                                             |
| verified\_at    | datetime       | When NIN verification completed. `null` if not verified.                                                                |
| identity        | object \| null | Linked verified identity details (names from verification)                                                              |
| nin             | string         | Write-only. Optional 11-digit Nigerian NIN used to verify the address on create or update. Never returned in responses. |
| created\_at     | *datetime*     | Time address created.                                                                                                   |
| updated\_at     | *datetime*     | Time address last updated.                                                                                              |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.terminal.africa/tship/address.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
