---
title: "List Indonesian Districts"
method: GET
path: "/api/region/list"
tags: ["Order"]
---

# List Indonesian Districts

`GET /api/region/list`

## Request

- Base URL: `https://api.desty.app`
- URL: `https://api.desty.app/api/region/list`
- Auth: none declared. Required headers: `Authorization`

## Description
List Indonesian provinces, cities, and districts as paginated district records. Use `districtId` when creating a manual order. This feature is in testing and has not been released to production.

Use the existing merchant-tenant Bearer token. Results are sorted lexicographically by `districtId`. A page beyond the last page returns an empty `results` array while retaining the totals. No request body is required.

Example: `GET /api/region/list?pageNumber=1&pageSize=500`

The shared pagination fields are `pageNumber`, `pageSize`, `totalCount`, `totalPages`, and `results`.

```json
{"code":"0","msg":null,"data":{"pageNumber":1,"pageSize":500,"totalCount":1,"totalPages":1,"results":[{"districtId":"<actual district ID>","province":"Demo province","city":"Demo city","district":"Demo district"}]},"success":true}
```

## Errors
- `INVALID_PARAMETER`: pageNumber is below 1, pageSize is outside 1–500, or a parameter has an invalid format.
- `INVALID_TOKEN`: authentication failed.
- `LIMIT_REQUEST`: existing request rate limit exceeded.
- `SERVER_ERROR`: downstream service unavailable or another server error.

Business, authentication, and rate-limit errors use HTTP 200; unexpected exceptions use HTTP 500. Always inspect the response `code`.

## Query parameters

- `pageNumber` string
- `pageSize` string

## Headers

- `Authorization` string, required

## Request body `text/plain`

- string, binary

## Response `200`

successful operation

- object
  - `code` '0' | 'INVALID_PARAMETER' | 'INVALID_TOKEN' | 'LIMIT_REQUEST' | 'SERVER_ERROR', required: Business result code. 0 indicates success; other values indicate an error.
  - `msg` string, nullable: Result message; normally null on success.
  - `data` object, nullable: Response data on success; null on failure.
    - `pageNumber` integer, required: Current page number.
    - `pageSize` integer, required: Page size.
    - `totalCount` integer, required: Total number of districts.
    - `totalPages` integer, required: Total number of pages.
    - `results` object[], required: District records on the requested page.
      - `districtId` string, required: District ID to use as shippingAddress.districtId.
      - `province` string, required: Province name.
      - `city` string, required: City name.
      - `district` string, required: District name.
  - `success` boolean, required: True when code equals 0.

## Changes

- **2026-09-15** `716fec5542e1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/desty/apis/desty-omni-openapi-2026-6-26/changes/api/region/list/get.md)

---

[API](https://skmtc.dev/desty/apis/desty-omni-openapi-2026-6-26.md) - [All operations](https://skmtc.dev/desty/apis/desty-omni-openapi-2026-6-26/llms.txt) - [OpenAPI document](https://skmtc.dev/desty/apis/desty-omni-openapi-2026-6-26/revisions/4946760fb77d?raw)
