---
title: "Ask for your city"
method: POST
path: "/api/v1/city-requests"
tags: ["public"]
---

# Ask for your city

`POST /api/v1/city-requests`

## Request

- Base URL: `https://cervejabarata.com.br`
- URL: `https://cervejabarata.com.br/api/v1/city-requests`
- Auth: none declared

Counts toward the next cities. Behind Turnstile and a daily cap per address.

## Request body

- CityRequest
  - `city` string, required: The city, as written
  - `state` string: Its state, as written (BA, Bahia)
  - `email` string, email: Only to say the city is live; deleted after
  - `consent` boolean: LGPD consent: required with an email
  - `turnstile` string, required: Cloudflare Turnstile token

## Response `202`

Queued

- Received
  - `status` 'received' | 'duplicate', required: duplicate: the same thing from the same address is already waiting for review

## Other responses

- `400`: Invalid request
- `403`: The Turnstile check failed
- `429`: Too many from this address today
- `503`: Closed: not configured yet, or degraded mode

---

[API](https://skmtc.dev/cervejabarata/apis/cerveja-barata-public-api.md) · [All operations](https://skmtc.dev/cervejabarata/apis/cerveja-barata-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cervejabarata/apis/cerveja-barata-public-api/revisions/19a783be3c18?raw)
