> ## Documentation Index
> Fetch the complete documentation index at: https://api.housera.ro/llms.txt
> Use this file to discover all available pages before exploring further.

# Confirm a listing is available

> Confirms that the listing is still available, like the button in your account on the Housera portal. An `unconfirmed` listing returns to search and you get the `listing.reactivated` event. An active listing that was asked for confirmation stays public, and `availability.confirm_by` becomes null. If there is nothing to confirm, the response is 409.



## OpenAPI

````yaml en/openapi.json POST /listings/{code}/confirm
openapi: 3.1.2
info:
  title: Housera API
  version: 1.0.0
  description: >-
    Publish and manage real estate listings on Housera from your CRM or your own
    application, under the same rules as the form on the Housera portal.
servers:
  - url: https://staging.housera.ro/api/v1
    description: 'Sandbox (staging): test data, same rules as production.'
  - url: https://housera.ro/api/v1
    description: 'Production: the real listings on housera.ro.'
security:
  - bearer: []
tags:
  - name: Your listings
  - name: Photos
  - name: Events
  - name: Vocabulary
  - name: Connect with Housera
  - name: Client requests
  - name: The company and its team
  - name: Marketing mandates
  - name: Viewings
  - name: Projects
  - name: Partnerships
  - name: API key
  - name: Statistics
paths:
  /listings/{code}/confirm:
    post:
      tags:
        - Your listings
      summary: Confirm a listing is available
      description: >-
        Confirms that the listing is still available, like the button in your
        account on the Housera portal. An `unconfirmed` listing returns to
        search and you get the `listing.reactivated` event. An active listing
        that was asked for confirmation stays public, and
        `availability.confirm_by` becomes null. If there is nothing to confirm,
        the response is 409.
      operationId: v1.listings.confirm
      parameters:
        - name: code
          in: path
          required: true
          schema:
            type: string
          description: The listing's public code (8 characters, as in its URL on Housera).
        - name: locale
          in: query
          required: false
          schema:
            type: string
            enum:
              - ro
              - en
            default: en
          example: en
          description: >-
            The response language, `ro` or `en`. It changes error messages
            (`title`, `detail`), labels and, when the listing has an approved
            translation in that language, its title and description. Codes are
            the same in every language. It takes precedence over
            `Accept-Language` and over the account's language.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListingWriteResult'
          description: The listing is confirmed. The response contains the listing.
          headers:
            ETag:
              description: >-
                The listing's version, the same as the `etag` field. Send it
                back in `If-Match` on your next edit.
              schema:
                type: string
        '401':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: The key is missing, revoked or expired (`unauthenticated`).
        '403':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: >-
            The key lacks the required permission (`missing_ability`) or access
            is denied (`forbidden`).
        '404':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: >-
            The listing does not exist or the key has no access to it
            (`not_found`).
        '409':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: >-
            Another write is changing the listing right now (`listing_busy`),
            the action is not allowed in its current status
            (`listing_action_refused`), or you already have a listing for the
            same property (`duplicate_listing`, with the existing listing in
            `existing`).
        '429':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: >-
            Too many requests. Try again after the number of seconds in
            `Retry-After`.
        '503':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
          description: >-
            Housera has temporarily paused writes through the API
            (`api_writes_paused`). Try again after the number of seconds in
            `Retry-After`.
components:
  schemas:
    ListingWriteResult:
      type: object
      title: ListingWriteResult
      properties:
        data:
          $ref: '#/components/schemas/AccountListingApiResource'
          description: The result of the request.
        warnings:
          type: array
          items:
            type: object
            properties:
              pointer:
                type: string
                description: The field it refers to, as a JSON Pointer (`/features/2`).
              code:
                type: string
                description: >-
                  The reason, as a stable code: `not_for_type`,
                  `not_for_transaction`, `unknown_feature`, `unknown_field`,
                  `agent_not_member`, `agent_not_allowed` or `area_from_pin`.
                  The Editing page explains each one.
            required:
              - pointer
              - code
          description: >-
            What Housera ignored in the request without rejecting it, for
            example a field that does not exist for the listing's type and
            transaction, or an unknown amenity. The request succeeded, but it is
            worth checking your mapping.
      required:
        - data
        - warnings
    Problem:
      type: object
      title: Problem
      properties:
        type:
          type: string
          format: uri
          description: The URL of the problem type (RFC 9457).
        title:
          type: string
          description: A short summary of the problem, in the request's language.
        status:
          type: integer
          description: The HTTP status code.
        code:
          type: string
          description: >-
            The stable code of the refusal, the one to handle the error by (the
            list is on the Errors page).
        detail:
          type: string
          description: The explanation, in the request's language.
        existing:
          type: object
          properties:
            code:
              type: string
              description: The existing listing's public code.
            external_ref:
              type:
                - string
                - 'null'
              description: >-
                Your ID for the existing listing, if you set it with `PUT
                /listings/ref/{ref}`. Otherwise `null`.
          required:
            - code
            - external_ref
          description: >-
            Only on `409 duplicate_listing`: the listing you already have for
            the same property.
      required:
        - type
        - title
        - status
        - code
        - detail
    AccountListingApiResource:
      type: object
      title: AccountListingApiResource
      properties:
        code:
          type: string
          description: The listing's public code (8 characters, as in its URL on Housera).
        url:
          type: string
          description: The listing's URL on Housera.
        type:
          type:
            - string
            - 'null'
          enum:
            - apartment
            - house
            - room
            - complex
            - land
            - commercial
            - warehouse
            - garage
            - hospitality
            - special
            - null
          description: Property type.
        subtype:
          type:
            - string
            - 'null'
          description: Subtype.
        transaction:
          type:
            - string
            - 'null'
          enum:
            - sale
            - rent
            - null
          description: Transaction type.
        title:
          type:
            - string
            - 'null'
          description: >-
            The listing's title, in the `content_locale` language: the approved
            translation into the requested language if there is an up-to-date
            one, otherwise the original.
        description:
          type:
            - string
            - 'null'
          description: >-
            The listing's description, in the `content_locale` language. The
            title and description always come in the same language, so either
            both are translated or both are original.
        content_locale:
          type:
            - string
            - 'null'
          description: >-
            The language of `title` and `description` in this response (ISO
            639-1). When you ask for a language (`locale` or `Accept-Language`)
            and the listing has an approved, up-to-date translation in it, you
            get that language's code, for example `en`. Otherwise you get the
            original text and the language it was written in, for example `ro`.
        content_auto_translated:
          type: boolean
          description: >-
            `true` when the `title` or the `description` in the response was
            machine-translated. If you show the text, say it was
            machine-translated. English the agency sends through its CRM is not
            a machine translation.
        content_origin:
          type: object
          properties:
            title:
              type:
                - string
                - 'null'
              description: Title.
            description:
              type:
                - string
                - 'null'
              description: Description.
          required:
            - title
            - description
          description: >-
            `ai` or `ai_edited` for `title` and `description`, when a model
            wrote the text: `ai` if it stayed as generated, `ai_edited` if the
            author changed it. Every other text has `null`.
        title_original:
          type:
            - string
            - 'null'
          description: >-
            The original title, when `title` was machine-translated; otherwise
            `null`.
        description_original:
          type:
            - string
            - 'null'
          description: >-
            The original description, when the text you received was
            machine-translated; otherwise `null`.
        price:
          type:
            - integer
            - 'null'
          description: The price in euros. `price_period` says what it refers to.
        currency:
          type: string
          const: EUR
          description: 'The currency of `price`: always `EUR`.'
        price_period:
          type:
            - string
            - 'null'
          enum:
            - total
            - month
            - null
          description: 'What the price refers to: `total` for a sale, `month` for a rental.'
        price_declared:
          type:
            - object
            - 'null'
          properties:
            amount:
              type: integer
              description: The amount.
            currency:
              type: string
              description: The amount's currency, as an ISO 4217 code.
          required:
            - amount
            - currency
          description: The price exactly as the lister wrote it, in the lister's currency.
        reserved:
          type: boolean
          description: >-
            `true`: a buyer has reserved it, but the listing is still on the
            market.
        negotiable:
          type: boolean
          description: Negotiable price.
        location:
          type: object
          properties:
            country:
              type:
                - string
                - 'null'
              description: Country.
            county:
              type:
                - string
                - 'null'
              description: County.
            city:
              type:
                - string
                - 'null'
              description: City.
            area:
              type:
                - string
                - 'null'
              description: The area or neighbourhood.
            lat:
              type:
                - number
                - 'null'
              description: Latitude.
            lng:
              type:
                - number
                - 'null'
              description: Longitude.
            street:
              type:
                - string
                - 'null'
              description: >-
                The street, including its type (for example `Strada Sărăriei`),
                as you send it when writing. Null when the location is
                approximate, except on your account's own listings.
            street_number:
              type:
                - string
                - 'null'
              description: >-
                The street number. Null when the location is approximate, except
                on your account's own listings.
            postal_code:
              type:
                - string
                - 'null'
              description: >-
                The postal code. Null when the location is approximate, except
                on your account's own listings.
            landmark:
              type:
                - string
                - 'null'
              description: >-
                A nearby landmark, written by whoever published the listing.
                Null when the location is approximate, except on your account's
                own listings.
            precision:
              type: string
              enum:
                - exact
                - approximate
              description: >-
                `exact`, or `approximate` when the listing shows only the area:
                the point is rounded to about 100 m and the street, number and
                postal code are not published.
          required:
            - country
            - county
            - city
            - area
            - lat
            - lng
            - street
            - street_number
            - postal_code
            - landmark
            - precision
          description: Where the property is.
        facts:
          type: object
          additionalProperties: {}
          description: >-
            The listing's characteristics: every field that exists for its type
            and transaction, with null for those not filled in. The codes are
            the ones in `/schema`.
        features:
          type: array
          items:
            type: string
          description: >-
            The amenities, as codes from the amenities catalog (`features` in
            `/schema`).
        images:
          type: array
          items:
            type: string
          description: The photo URLs, in order.
        photos:
          type: array
          items:
            type: object
            properties:
              url:
                type: string
                description: The photo's URL, the same as in `images`.
              position:
                type: integer
                description: >-
                  The photo's place in the gallery, starting at 1. Photo 1 is
                  the cover.
              floor:
                type:
                  - string
                  - 'null'
                description: >-
                  The level shown in the photo (`floor`), as a code from
                  `/schema`, or null.
              rooms:
                type: array
                items:
                  type: string
                description: >-
                  The rooms shown in the photo (`rooms`), as codes from
                  `/schema`.
            required:
              - url
              - position
              - floor
              - rooms
          description: >-
            The listing's photos as objects, in display order, with the labels
            sent in `PUT /listings/{code}/photos`. The URLs are the same as in
            `images`.
        floor_plans:
          type: array
          items:
            type: object
            properties:
              url:
                type: string
                description: >-
                  The plan image's address. When writing, an https URL Housera
                  downloads the plan from, or the address of a plan already on
                  the listing, which stays.
              position:
                type: integer
                description: The plan's place in the list, from 1.
              level:
                type: string
                description: >-
                  The plan's level, as a code from `levels` in `/schema` (for
                  example `ground`).
              hotspots:
                type: array
                items:
                  type: object
                  properties:
                    x:
                      type: number
                      description: >-
                        The point's horizontal position on the image, between 0
                        (left edge) and 1 (right edge).
                    'y':
                      type: number
                      description: >-
                        The point's vertical position on the image, between 0
                        (top) and 1 (bottom).
                    angle:
                      type: number
                      description: >-
                        The direction the photo faces, in degrees, between 0 and
                        360.
                    photo_position:
                      type: integer
                      description: The photo's place in `photos`, from 1.
                    photo_url:
                      type: string
                      description: >-
                        The point's photo: the URL you sent it with in `PUT
                        /listings/{code}/photos`, or its address from
                        `photos[].url`.
                  required:
                    - x
                    - 'y'
                    - angle
                    - photo_position
                    - photo_url
                description: >-
                  The points on the plan: where a photo was taken and which way
                  it faces. A photo has at most one point across all the plans.
            required:
              - url
              - position
              - level
              - hotspots
          description: >-
            The listing's floor plans, one per level, in display order, with the
            points that tie the photos to the plan.
        media_links:
          type:
            - object
            - 'null'
          properties:
            video:
              type:
                - string
                - 'null'
              description: A video URL (YouTube, Vimeo).
            tour:
              type:
                - string
                - 'null'
              description: A virtual tour URL.
            plan:
              type:
                - string
                - 'null'
              description: The URL of a sketch or floor plan.
          required:
            - video
            - tour
            - plan
          description: >-
            The links to the video (`video`), the virtual tour (`tour`) and the
            floor plan (`plan`), as you sent them. Null when the listing has
            none.
        parcel:
          type:
            - array
            - 'null'
          items:
            type: array
            prefixItems:
              - type: number
              - type: number
            minItems: 2
            maxItems: 2
          description: >-
            The plot outline, as a list of `[lng, lat]` pairs, as you sent it.
            Public only when the location is exact; the account that owns the
            listing always sees it. Null when the listing has no plot outline.
        unit_types:
          type:
            - array
            - 'null'
          items:
            type: object
            properties:
              kind:
                type:
                  - string
                  - 'null'
                description: The kind of unit, as a code from `/schema`.
              label:
                type:
                  - string
                  - 'null'
                description: >-
                  The unit type's name, when it has no `kind` code. `null` when
                  there is none.
              floors:
                type:
                  - string
                  - 'null'
                description: The floors the units are on. `null` when not given.
              area_sqm:
                type:
                  - number
                  - 'null'
                description: The usable area in m² (from).
              area_sqm_to:
                type:
                  - number
                  - 'null'
                description: The largest usable area in m², when the type covers a range.
              units_count:
                type:
                  - integer
                  - 'null'
                description: How many units of this type the residential development has.
              price_from:
                type:
                  - integer
                  - 'null'
                description: The price the units start from, in euros.
              rooms:
                type:
                  - integer
                  - 'null'
                description: The unit's number of rooms.
            required:
              - kind
              - label
              - floors
              - area_sqm
              - area_sqm_to
              - units_count
              - price_from
              - rooms
          description: >-
            The unit types of a residential development, as you sent them in
            `unit_types`. Null for every other listing type.
        inventory:
          type:
            - object
            - 'null'
          properties:
            sale:
              type:
                - object
                - 'null'
              properties:
                source:
                  type: string
                  description: >-
                    `units` when the development has published units in this
                    transaction, `declared` while it has none: the counters are
                    then zero, and you read the project from `unit_types`.
                available:
                  type: integer
                  description: The active units that are not reserved.
                reserved:
                  type: integer
                  description: The active units a buyer has reserved.
                sold:
                  type: integer
                  description: The sold units.
                price_min:
                  type:
                    - integer
                    - 'null'
                  description: The lowest price of the available units, in euros.
                price_max:
                  type:
                    - integer
                    - 'null'
                  description: The highest price of the available units, in euros.
                groups:
                  type: array
                  items: {}
                  description: >-
                    The groups of units: one per family, split by room count
                    when the family has units with different room counts.
              required:
                - source
                - available
                - reserved
                - sold
                - price_min
                - price_max
                - groups
              description: >-
                The units for sale. Always present on a development for sale;
                otherwise `null` until the development has units for sale.
            rent:
              type:
                - object
                - 'null'
              properties:
                source:
                  type: string
                  description: >-
                    `units` when the development has published units in this
                    transaction, `declared` while it has none: the counters are
                    then zero, and you read the project from `unit_types`.
                available:
                  type: integer
                  description: The active units that are not reserved.
                reserved:
                  type: integer
                  description: The active units a tenant has reserved.
                sold:
                  type: integer
                  description: The sold units.
                price_min:
                  type:
                    - integer
                    - 'null'
                  description: The lowest price of the available units, in euros.
                price_max:
                  type:
                    - integer
                    - 'null'
                  description: The highest price of the available units, in euros.
                groups:
                  type: array
                  items: {}
                  description: >-
                    The groups of units: one per family, split by room count
                    when the family has units with different room counts.
              required:
                - source
                - available
                - reserved
                - sold
                - price_min
                - price_max
                - groups
              description: >-
                The units for rent, priced per month. Always present on a
                development for rent; otherwise `null` until the development has
                units for rent.
          required:
            - sale
            - rent
          description: >-
            The development's inventory, counted from its linked units, per
            transaction: `sale` and `rent`, each with the counters, the price
            ranges and the groups. `null` for any other type.
        developer:
          type:
            - object
            - 'null'
          properties:
            name:
              type: string
              description: The name of the development's company.
            country:
              type:
                - string
                - 'null'
              description: The country of the company, ISO 3166-1 alpha-2 code.
            tax_id:
              type:
                - string
                - 'null'
              description: >-
                The tax ID, only when the company is verified in the register
                and is a legal entity. `null` for sole traders (PFA) and
                individual enterprises.
            verified:
              type: boolean
              description: >-
                `true` when the company's details were checked in the public
                registers .
            url:
              type:
                - string
                - 'null'
              description: >-
                The developer's page on Housera. `null` when the company does
                not have an account.
          required:
            - name
            - country
            - tax_id
            - verified
            - url
          description: >-
            The company that builds the development. `null` for other types and
            while the developer is not known.
        marketer:
          type:
            - object
            - 'null'
          properties:
            name:
              type: string
              description: The name of the company.
            kind:
              type: string
              enum:
                - agency
                - developer
              description: '`agency` (an agency) or `developer` (the developer itself).'
            url:
              type: string
              description: The company's page on Housera.
          required:
            - name
            - kind
            - url
          description: >-
            The company that markets the development: it publishes the page and
            receives the enquiries. `null` for other types.
        complex:
          type:
            - object
            - 'null'
          properties:
            code:
              type: string
              description: The development's public code.
            title:
              type:
                - string
                - 'null'
              description: The development's title.
            url:
              type: string
              description: The development's address on Housera.
            linked_by:
              type:
                - string
                - 'null'
              enum:
                - import
                - firm
                - partner
                - null
              description: >-
                Who linked the unit: `import` (the CRM's feed), `firm` (the
                development's company) or `partner` (a partner agency).
          required:
            - code
            - title
            - url
            - linked_by
          description: >-
            The development the unit belongs to, `null` outside a development.
            The catalog names only an active development.
        published_at:
          type:
            - string
            - 'null'
          description: When the listing was published (ISO 8601).
        updated_at:
          type:
            - string
            - 'null'
          description: The last change (ISO 8601).
        attribution:
          type: object
          properties:
            lister:
              type:
                - string
                - 'null'
              description: >-
                The agency, or the property owner's display name, as shown on
                the listing page.
            source:
              type:
                - string
                - 'null'
              description: >-
                The code of the source the listing was imported from. Null for
                listings posted directly on Housera.
            source_label:
              type:
                - string
                - 'null'
              description: The name of the source the listing was imported from.
            source_external_id:
              type:
                - string
                - 'null'
              description: The listing's ID at the source.
          required:
            - lister
            - source
            - source_label
            - source_external_id
          description: Who published the listing and where it was imported from.
        external_ref:
          type:
            - string
            - 'null'
          description: >-
            The listing's ID in your system, if you created it with `PUT
            /listings/ref/{ref}`. Only a key in the space where it was set can
            see it; for every other key it is `null`.
        agent:
          type:
            - object
            - 'null'
          properties:
            name:
              type: string
              description: >-
                The name of the agent's account. The portal shows the name in
                `display_name`.
            email:
              type: string
              description: >-
                The agent's email; `null` when we have no real address for them,
                for example a colleague who came from a CRM with no email on
                their team record.
          required:
            - name
            - email
          description: >-
            The company's agent responsible for the listing, with name and
            email. `null` on an individual's listing. `email` is `null` when we
            have no real address for the agent, for example a colleague who came
            from a CRM without an email on their member record.
        status:
          $ref: '#/components/schemas/PropertyStatus'
          description: >-
            The listing's status: `draft` (a draft started in the portal),
            `pending` (in moderation), `active` (public), `paused` (paused by
            you), `sold`, `rejected`, `hidden` (taken down by a moderator) or
            `unconfirmed` (availability was not confirmed in time; confirm it
            from your account or with `POST /listings/{code}/confirm` and the
            listing comes back).
        moderation:
          type: object
          properties:
            edit_pending:
              type: boolean
              description: >-
                `true`: an edit is waiting for moderation; the public listing
                still shows the approved version.
            rejection_reason:
              type:
                - string
                - 'null'
              description: >-
                Why the listing was rejected, in the request's language. Null if
                the listing is not rejected.
            rejection_codes:
              type: array
              items:
                type: string
              description: The rejection reasons, as stable codes.
            restriction_reason:
              type:
                - string
                - 'null'
              description: >-
                Why moderators hid the listing or sent it back for review, as
                the author was told. Null when the listing is in neither status.
            notes:
              type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                    description: >-
                      The part of the listing it refers to: `title`,
                      `description`, `photos`, `floor_plans`, `unit_types` or
                      `details` (the other fields).
                  label:
                    type: string
                    description: The section's name, as the author sees it.
                  note:
                    type: string
                    description: The note's text, written by the moderator.
                  kind:
                    type: string
                    enum:
                      - blocking
                      - recommendation
                    description: >-
                      `blocking`: the correction is required before approval.
                      `recommendation`: advice, the listing can be approved
                      without it.
              description: >-
                The moderators' notes sent to the author and still open, by
                section, as the portal's editor shows them. One with `kind:
                blocking` holds the approval until you correct the listing.
            proof:
              type:
                - object
                - 'null'
              properties:
                status:
                  type: string
                  enum:
                    - requested
                    - submitted
                    - accepted
                    - rejected
                  description: >-
                    `requested` (waiting for the proof), `submitted` (sent,
                    waiting for the decision), `accepted` or `rejected`.
                reason:
                  type: string
                  description: Why the moderators asked for the proof.
                hidden:
                  type: boolean
                  description: >-
                    `true` when the listing was taken off the site until the
                    decision.
                requested_at:
                  type: string
                  format: date-time
                  description: When the proof was asked for.
                submitted_at:
                  type:
                    - string
                    - 'null'
                  format: date-time
                  description: When you sent the proof. `null` if you haven't sent it yet.
                decided_at:
                  type:
                    - string
                    - 'null'
                  format: date-time
                  description: When the moderators decided. `null` until the decision.
              description: >-
                The moderators' latest request for proof of the right to offer
                the listing. `null` if none was ever asked for.
          description: Where the listing stands in moderation.
        media:
          type: object
          properties:
            processing:
              type: boolean
              description: '`true`: the photos you sent are still being processed.'
          description: The status of the photos.
        availability:
          type: object
          properties:
            confirm_by:
              type:
                - string
                - 'null'
              format: date-time
              description: >-
                The date by which you confirm that the listing is still
                available, with `POST /listings/{code}/confirm`. After it, the
                listing leaves search as `unconfirmed`. Null when no
                confirmation is asked for.
          description: The confirmation that the listing is still available.
        translations:
          type:
            - object
            - 'null'
          additionalProperties:
            type: object
            properties:
              status:
                type: string
                enum:
                  - approved
                  - pending
                  - outdated
                  - missing
                description: >-
                  `approved`: the title and description have an approved
                  translation made from the current text. `pending`: the
                  translation is in progress or waiting for a moderator.
                  `outdated`: the translation was approved, but the title or
                  description changed afterwards, so the public reads the
                  original until it is translated again. `missing`: the listing
                  has no translation in this language.
              title:
                type:
                  - string
                  - 'null'
                description: >-
                  The approved title in this language, if it was translated from
                  the current title. Otherwise null.
              description:
                type:
                  - string
                  - 'null'
                description: >-
                  The approved description in this language, if it was
                  translated from the current description. Otherwise null.
          description: >-
            For each language Housera translates the listing into, other than
            the original's language: the translation's status and the approved
            text. Null when Housera does not translate listings.
        etag:
          type: string
          description: >-
            The listing's version. Send it in `If-Match` when you edit, so you
            do not overwrite a change made in the meantime.
        unit_ref:
          type:
            - string
            - 'null'
          description: >-
            The unit's identifier within the development, normalized (for
            example `B2-14`). Private: only the company that published the unit
            reads it. Required on a partner agency's unit.
        mandate:
          type:
            - object
            - 'null'
          properties:
            status:
              type: string
              enum:
                - requested
                - confirmed
                - refused
                - withdrawn
                - revoked
                - expired
              description: >-
                `requested` (waiting for a decision), `confirmed`, `refused`,
                `withdrawn` (the agency withdrew its request), `revoked` or
                `expired`. The development is public only while the mandate is
                `confirmed`.
            decided_via:
              type:
                - string
                - 'null'
              enum:
                - developer
                - moderator
                - legacy
                - null
              description: >-
                Who decided: `developer` (the developer), `moderator` (a Housera
                moderator) or `legacy` (a decision without a mandate request).
                `null` until a decision is made.
            valid_until:
              type:
                - string
                - 'null'
              format: date
              description: >-
                The contract's end date, `YYYY-MM-DD`. `null` when the contract
                has none.
          required:
            - status
            - decided_via
            - valid_until
          description: >-
            The agency's marketing mandate on its development, the latest one
            requested. `null` on a development its developer markets itself and
            on every other listing type. See [The marketing
            mandate](/en/guides/complex#the-marketing-mandate).
        stats_30d:
          type: object
          properties:
            views:
              type: integer
              description: Views.
            saves:
              type: integer
              description: Saves to favourites.
            contacts:
              type: integer
              description: Contacts that came through the listing.
          required:
            - views
            - saves
            - contacts
          description: >-
            The listing's last 30 days, today included, as in its row in My
            listings.
        views_total:
          type: integer
          description: All views since it was published.
        price_per_sqm:
          type:
            - integer
            - 'null'
          description: >-
            The price per square metre in euro, as on the listing's page. For
            sales only; `null` without a price or a surface.
      required:
        - code
        - url
        - type
        - subtype
        - transaction
        - title
        - description
        - content_locale
        - content_auto_translated
        - content_origin
        - title_original
        - description_original
        - price
        - currency
        - price_period
        - price_declared
        - reserved
        - negotiable
        - location
        - facts
        - features
        - images
        - photos
        - floor_plans
        - media_links
        - parcel
        - unit_types
        - inventory
        - developer
        - marketer
        - complex
        - published_at
        - updated_at
        - attribution
        - external_ref
        - agent
        - unit_ref
        - mandate
        - status
        - moderation
        - media
        - availability
        - translations
        - etag
    PropertyStatus:
      type: string
      enum:
        - draft
        - pending
        - active
        - rejected
        - paused
        - hidden
        - unconfirmed
        - sold
      title: PropertyStatus
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: 'Authorization: Bearer <key>'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.