---
title: "Create a listing"
method: POST
path: "/api/v1/ads"
tags: ["ads"]
---

# Create a listing

`POST /api/v1/ads`

## Request

- Base URL: `https://bezbaseina.lv`
- URL: `https://bezbaseina.lv/api/v1/ads`
- Auth: HTTP bearer

Publish a new listing you own. Contact defaults to your account; add photos with photos.upload or pass photo_urls[]. Goes live immediately (Pro).

## Request body

- object
  - `title` string, required: public headline (LV)
  - `city` string, required: city slug, e.g. riga, jurmala, liepaja
  - `deal_type` 'rent' | 'sale' | 'nightly', required: rent | sale | nightly
  - `price_eur` integer, required: monthly/nightly price, or the sale price when deal_type=sale
  - `property_kind` 'apartment' | 'house' | 'land' | 'commercial': default apartment
  - `season_mode` 'annual' | 'sept_may' | 'summer' | 'shortterm': rent term; default annual (shortterm for nightly)
  - `district` string: e.g. Torņakalns, Centrs
  - `address` string
  - `rooms` integer
  - `size_m2` integer
  - `floor` integer
  - `total_floors` integer
  - `building_era` 'pirmskara' | 'padomju' | 'jaunais projekts'
  - `amenities` unknown[]: keyword tags (see /capabilities amenities vocab)
    - unknown
  - `description` string: LV body text
  - `owner_name` string: contact name shown on the ad; defaults to your account name
  - `owner_phone` string: contact phone shown on the ad
  - `latitude` number
  - `longitude` number
  - `photo_urls` unknown[]: already-hosted photo URLs (hero first); or attach files later with photos.upload
    - unknown
  - `building_code` string: VZD building code (land/house SEO)
  - `parcel_code` string: VZD parcel code

## Response `200`

Success

## Other responses

- `401`: auth_required / invalid_token
- `403`: forbidden_scope / plan_required

---

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