---
title: "PUT /policies/geoip/{policy_uuid}/"
method: PUT
path: "/policies/geoip/{policy_uuid}/"
tags: ["policies"]
---

# PUT /policies/geoip/{policy_uuid}/

`PUT /policies/geoip/{policy_uuid}/`

## Request

- Base URL: `https://api.goauthentik.io/api/v3`
- URL: `https://api.goauthentik.io/api/v3/policies/geoip/{policy_uuid}/`
- Auth: HTTP bearer

GeoIP Viewset

## Path parameters

- `policy_uuid` string, uuid, required

## Request body

- GeoIPPolicyRequest: GeoIP Policy Serializer
  - `name` string, required
  - `execution_logging` boolean: When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged.
  - `asns` integer[]
  - `countries` CountryCodeEnum[], required
  - `check_history_distance` boolean
  - `history_max_distance_km` integer
  - `distance_tolerance_km` integer
  - `history_login_count` integer
  - `check_impossible_travel` boolean
  - `impossible_tolerance_km` integer

## Response `200`

- GeoIPPolicy: GeoIP Policy Serializer
  - `pk` string, uuid, required
  - `name` string, required
  - `execution_logging` boolean: When this option is enabled, all executions of this policy will be logged. By default, only execution errors are logged.
  - `component` string, required: Get object component so that we know how to edit the object
  - `verbose_name` string, required: Return object's verbose_name
  - `verbose_name_plural` string, required: Return object's plural verbose_name
  - `meta_model_name` string, required: Return internal model name
  - `bound_to` integer, required: Return objects policy is bound to
  - `last_updated` string, date-time, required
  - `created` string, date-time, required
  - `asns` integer[]
  - `countries` CountryCodeEnum[], required
  - `countries_obj` object[], required
    - `code` string, required
    - `name` string, required
  - `check_history_distance` boolean
  - `history_max_distance_km` integer
  - `distance_tolerance_km` integer
  - `history_login_count` integer
  - `check_impossible_travel` boolean
  - `impossible_tolerance_km` integer

## Other responses

- `400`
- `403`

## Changes

- **2026-09-08** `c5b9786ece16`: 2 info
  - added the required property `created` to the response with the `200` status
  - added the required property `last_updated` to the response with the `200` status

[Operation history](https://skmtc.dev/goauthentik/apis/authentik/changes/policies/geoip/:policy_uuid/put.md)

---

[API](https://skmtc.dev/goauthentik/apis/authentik.md) · [All operations](https://skmtc.dev/goauthentik/apis/authentik/llms.txt) · [OpenAPI document](https://skmtc.dev/goauthentik/apis/authentik/revisions/d91bc0d12080?raw)
