---
title: "Restore Location"
method: POST
path: "/v1/farm/{farm_id}/locations/{location_id}/restore"
tags: ["locations"]
---

# Restore Location

`POST /v1/farm/{farm_id}/locations/{location_id}/restore`

## Request

- Base URL: `https://api.ranch.bot`
- URL: `https://api.ranch.bot/v1/farm/{farm_id}/locations/{location_id}/restore`
- Auth: HTTP bearer

Restore an archived location. A sublocation requires an active parent; restoring a premises restores its sublocations. Directory scopes use read:farms/write:farms; minimum farm role READER for reads and EDITOR for writes.

## Path parameters

- `farm_id` string, uuid, required
- `location_id` string, uuid, required

## Request body

- object
  - `expected_version` integer

## Response `200`

Success

- object
  - `location` LocationIdentity, required
    - `id` string, required
    - `farm_id` string, required
    - `parent_id` string, nullable
    - `name` string, required
    - `category` 'FARM' | 'FIELD' | 'PEN' | 'BARN' | 'VET' | 'RODEO' | 'ABATTOIR' | 'AUCTION' | 'OTHER', nullable
    - `context` 'OPERATED' | 'LEASED' | 'EXTERNAL', nullable
    - `address` string, nullable
    - `legal_land_description` string, nullable
    - `country` string, nullable
    - `province_state` string, nullable
    - `is_active` boolean, required
    - `version` integer, required
    - `path` string, required
    - `root_id` string, required
    - `identifiers` PremisesIdentifier[], required
      - `id` string, required
      - `location_id` string, required
      - `scheme` 'CA_PID' | 'US_PIN' | 'US_LID' | 'OTHER', required
      - `scheme_label` string, nullable
      - `issuer` string, nullable
      - `jurisdiction` string, nullable
      - `value` string, required
      - `source` string, nullable
      - `confirmed_by_user_id` string, nullable
      - `confirmed_at` string, date-time, nullable
      - `is_preferred` boolean, required
      - `version` integer, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required

## Other responses

- `400`: Request validation failed.
- `401`: Missing/invalid authentication or insufficient farm role.
- `403`: Missing required external credential scope.
- `404`: Location not found.

---

[API](https://skmtc.dev/ranch/apis/ranch-bot-http-api.md) · [All operations](https://skmtc.dev/ranch/apis/ranch-bot-http-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ranch/apis/ranch-bot-http-api/revisions/24109d33fa02?raw)
