---
title: "Map up to 1,000 inputs to places with their stored signals"
method: POST
path: "/v1/places/map"
tags: ["Places"]
---

# Map up to 1,000 inputs to places with their stored signals

`POST /v1/places/map`

## Request

- Base URL: `https://api.onegoodarea.com`
- URL: `https://api.onegoodarea.com/v1/places/map`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Resolves postcodes, official codes and place ids (1 to 1000) and returns, for every input in order, the place it names, the store key it is read by and the stored signals of that neighbourhood, or the reason there are none. With portfolio_id, every resolved input is added to that portfolio with its place_id. Metered by resolved row. Larger sets run as a job at POST /v1/jobs/portfolio-map.

## Request body

- object
  - `inputs` string[], required
  - `portfolio_id` string

## Response `200`

Default Response

- object
  - `summary` object, required
    - `count` integer, required
    - `resolved` integer, required
    - `ambiguous` integer, required
    - `not_found` integer, required
    - `with_signals` integer, required
    - `without_signals` integer, required
    - `portfolio` object, required
      - `id` string, required
      - `added` integer, required
      - `updated` integer, required
  - `rows` object[], required
    - `seq` integer, required
    - `input` string, required
    - `resolution` union, required
      - object
        - `status` 'resolved', required
        - `input` string, required
        - `place` object, required
          - `place_id` string, required
          - `place_type` 'country' | 'nation' | 'region' | 'district' | 'group' | 'neighbourhood', required
          - `name` string, required
          - `country` string, required
          - `nation` string, required
        - `resolved_via` object, required
          - `kind` 'place_id' | 'postcode' | 'code' | 'name', required
          - `scheme` 'iso3166-1' | 'iso3166-2' | 'ctry' | 'rgn' | 'lad' | 'msoa21' | 'iz2022' | 'lsoa21' | 'dz2022' | 'lsoa11' | 'dz2011' | 'iz2011', required
          - `value` string, required
        - `postcode` object, required
          - `postcode` string, required
          - `status` 'live' | 'terminated', required
          - `terminated_on` string, required
      - object
        - `status` 'ambiguous', required
        - `input` string, required
        - `candidates` object[], required
          - `label` string, required
          - `postcode` string, required
          - `place` object, required
            - `place_id` string, required
            - `place_type` 'country' | 'nation' | 'region' | 'district' | 'group' | 'neighbourhood', required
            - `name` string, required
            - `country` string, required
            - `nation` string, required
      - object
        - `status` 'not_found', required
        - `input` string, required
        - `reason` 'empty_input' | 'input_too_long' | 'invalid_input' | 'invalid_place_id' | 'unknown_place_id' | 'unknown_postcode' | 'unknown_code' | 'nation_not_covered' | 'name_not_found' | 'name_not_supported_in_batch', required
        - `message` string, required
    - `store_key` object, required
      - `scheme` 'iso3166-1' | 'iso3166-2' | 'ctry' | 'rgn' | 'lad' | 'msoa21' | 'iz2022' | 'lsoa21' | 'dz2022' | 'lsoa11' | 'dz2011' | 'iz2011', required
      - `code` string, required
    - `signals` object[], required
      - `key` string, required
      - `category` 'crime' | 'deprivation' | 'property' | 'schools' | 'amenities' | 'transport' | 'environment', required
      - `label` string, required
      - `value` union, required
        - number
        - string
      - `unit` string, required
      - `normalized_value` number
      - `percentile` number
      - `regional_percentile` number
      - `direction` 'higher_is_better' | 'lower_is_better' | 'neutral', required
      - `confidence` number, required
      - `confidence_reason` string, required
      - `source` string, required
      - `observed_period` string, required
      - `source_unavailable` true
      - `detail` object: Extra published figures behind `value`, for a deprivation domain.
        - `rank` number: The published rank within the nation (a tied rank is a published mid-rank such as 2790.5).
        - `score` number: The published score, where the publisher gives one (Scotland publishes none).
      - `period` object
        - `start` string, required
        - `end` string, required
      - `period_basis` 'reference' | 'load'
      - `released_at` string
      - `loaded_at` string, date-time
      - `retrieved_at` string, date-time
    - `signals_note` string, required
  - `notes` string[], required
  - `meta` object, required
    - `engine_version` string, required
    - `generated_at` string, required

## Other responses

- `400`: Default Response
- `401`: Default Response
- `403`: Default Response
- `404`: Default Response
- `413`: Default Response
- `429`: Default Response
- `500`: Default Response

---

[API](https://skmtc.dev/onegoodarea/apis/onegoodarea-api.md) · [All operations](https://skmtc.dev/onegoodarea/apis/onegoodarea-api/llms.txt) · [OpenAPI document](https://skmtc.dev/onegoodarea/apis/onegoodarea-api/revisions/b318d28b3412?raw)
