> ## 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.

# Pregătește un upload

> Întoarce un URL presemnat la care urci o poză direct (`PUT`, cu exact `Content-Type` și `Content-Length` declarate) și cheia pe care o trimiți apoi la `PUT /listings/{code}/photos`.



## OpenAPI

````yaml ro/openapi.json POST /uploads
openapi: 3.1.2
info:
  title: Housera API
  version: 1.0.0
  description: >-
    Publică și gestionează anunțuri imobiliare pe Housera din CRM-ul sau din
    aplicația ta, cu aceleași reguli ca formularul Housera.
servers:
  - url: https://staging.housera.ro/api/v1
    description: 'Sandbox (staging): date de test, aceleași reguli ca producția.'
  - url: https://housera.ro/api/v1
    description: 'Producție: anunțurile reale de pe housera.ro.'
security:
  - bearer: []
tags:
  - name: Anunțurile tale
  - name: Poze
  - name: Evenimente
  - name: Vocabular
paths:
  /uploads:
    post:
      tags:
        - Poze
      summary: Pregătește un upload
      description: >-
        Întoarce un URL presemnat la care urci o poză direct (`PUT`, cu exact
        `Content-Type` și `Content-Length` declarate) și cheia pe care o trimiți
        apoi la `PUT /listings/{code}/photos`.
      operationId: v1.uploads.sign
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                content_type:
                  type: string
                  enum:
                    - image/jpeg
                    - image/png
                    - image/webp
                  description: Tipul conținutului.
                content_length:
                  type: integer
                  minimum: 1
                  maximum: 0
                  description: Dimensiunea conținutului.
              required:
                - content_type
                - content_length
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  method:
                    type: string
                    const: PUT
                    description: Metoda HTTP pentru urcare (`PUT`).
                  url:
                    type: string
                    description: Adresa.
                  headers:
                    type: object
                    properties:
                      Content-Type:
                        type: string
                        description: Tipul fișierului, de trimis la urcare.
                    required:
                      - Content-Type
                    description: Antetele de trimis exact așa la urcare.
                  key:
                    type: string
                    description: Cheia fișierului urcat, de trimis apoi în `photos[].key`.
                required:
                  - method
                  - url
                  - headers
                  - key
          description: Reușit.
        '401':
          content:
            application/problem+json:
              schema:
                $ref: 2449e8cf-2469-4d15-b735-5241d23a2cba
          description: Cheia lipsește, e revocată sau a expirat (`unauthenticated`).
        '422':
          content:
            application/problem+json:
              schema:
                $ref: 23da4458-6a09-4e97-b93a-563e464e40c0
          description: >-
            Datele nu trec regulile: câte o intrare pe câmp în `errors[]`, cu un
            `code` stabil.
components:
  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.