> For the complete documentation index, see [llms.txt](https://protectedseas.gitbook.io/navigator-api-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://protectedseas.gitbook.io/navigator-api-docs/api-reference/site-details.md).

# Site Details

```http
GET https://map.navigatormap.org/api/detail/
```

The Site Details endpoint returns detailed attributes for a single site, including identifiers (`ogc_fid`, `ps_id`, `wdpa_id`, etc.), site metadata (name, country, designation, categories), regulatory information (restrictions, allowed activities, regulation URLs), protection metrics (LFP, gear and activity restrictions), and spatial fields (`bounds`, and full `site_boundary` when requested).

You can identify a site by either `ogc_fid` (internal numeric identifier) or `ps_id` (ProtectedSeas-assigned identifier).

The full list of returned fields is documented in [Site keys](/navigator-api-docs/field-reference/site-keys.md) — Site Details returns the complete set, including the narrative and regulatory fields.

## Request parameters

| Parameter            | Required?                                      | Type                                | Description                                                                                                                  |
| -------------------- | ---------------------------------------------- | ----------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `ogc_fid` or `ps_id` | Required                                       | `ogc_fid`: integer, `ps_id`: string | The site identifier. `ogc_fid` is the unique internal identifier; `ps_id` is the ProtectedSeas-assigned identifier.          |
| `region_id`          | Optional                                       | integer                             | Limit the lookup to the specified region. If the site is not in that region, the request returns `404` rather than the site. |
| `v`                  | Optional (**required if `region_id` is used**) | integer                             | Required when `region_id` is supplied. Pass `1`.                                                                             |
| `lang`               | Optional                                       | string                              | Language ISO ID. Default: English. Example: `en_EN`.                                                                         |
| `export_boundaries`  | Optional                                       | boolean                             | If `true`, includes site bounds and full boundary geometry in addition to attributes.                                        |

## Examples

### Site details by `ogc_fid`

```http
GET /api/detail/?ogc_fid=32415&lang=en_EN&export_boundaries=true
```

Returns a JSON object with detailed attributes and geometry for the site identified by its `ogc_fid`.

### Site details by `ps_id`

```http
GET /api/detail/?ps_id=MNM10&region_id=550&v=1&lang=en_EN&export_boundaries=true
```

Returns a JSON object with detailed attributes and geometry for the site identified by its `ps_id` within the specified region.

## Error handling

All error responses return a JSON object with an `error` field. See [Errors](/navigator-api-docs/conventions/errors.md) for the general format.

### Parameter validation (`400`)

| Condition                                           | Example error                                              |
| --------------------------------------------------- | ---------------------------------------------------------- |
| No site identifier provided (no `ogc_fid`, `ps_id`) | Lists the three accepted identifiers with format examples. |
| `ogc_fid` is not a positive integer                 | Echoes the invalid value and specifies the correct format. |
| `ps_id` is empty                                    | Specifies that a valid site ID string is required.         |
| `region_id` is not a positive integer               | Echoes the invalid value and specifies the correct format. |
| `region_id` supplied without `v`                    | States that `v` must also be set, with an example.         |
| Unsupported `lang` value                            | Lists all 25 supported language codes.                     |

### Not found (`404`)

When a valid identifier does not match any active site, returns `404` with the identifier echoed back. A `404` is also returned when `region_id` is supplied and the site is not in that region.

### Server errors (`500`)

Database errors return a generic JSON error without exposing internal details.
