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

> ## Agent Instructions
> Documentazione di Gestione Sala. Il testo completo, incluso il riferimento API, è in https://docs.gestionesala.com/llms-full.txt. Per endpoint, campi e codici di errore la fonte di verità è openapi.yaml: non usare endpoint o campi non documentati.

# Recupera la specifica OpenAPI

> Restituisce la specifica OpenAPI 3.1 di questa API. Non richiede autenticazione.



## OpenAPI

````yaml /openapi.yaml get /openapi.json
openapi: 3.1.0
info:
  title: Gestione Sala API
  version: 1.0.0
  description: >-
    Autenticazione: Authorization: Bearer <chiave>. Errori:
    {error:{code,message,details,requestId}}, anche per un percorso che non
    esiste (404 not_found); un metodo che il percorso non ha è un 405 della
    piattaforma, senza corpo. Risorsa singola: {nomeRisorsa: {...}}; lista
    d'attesa: entry. Elenchi: {data,nextCursor}, limit fino a 200. Intervalli di
    giorni: from/to. serviceDate YYYY-MM-DD e time HH:mm nell'ora del locale;
    startsAt/endsAt/updatedAt ISO 8601 UTC; timezone IANA. Un id di percorso
    storto è 404. Ogni risposta porta X-Request-Id; quelle con una chiave
    riconosciuta anche X-RateLimit-Limit/Remaining/Reset (per la chiave pubblica
    del widget, il tetto del tuo indirizzo IP); il 429 anche Retry-After.
    Idempotency-Key: legata a chiave API, operazione e corpo; riusata con un
    altro corpo è 422 idempotency_key_reused, ancora in corso 409
    idempotency_in_progress. Chiavi di prova (gsk_test_, organizzazione di
    prova): ogni risposta JSON porta livemode:false, nessun webhook, messaggio o
    sincronizzazione SQUADD parte. Chiave pubblica del widget (gspk_): solo GET
    /availability, /availability/slots, /availability/days e POST /reservations,
    dai siti ammessi (CORS, header Origin), con un limite per indirizzo IP;
    senza serviceTags né externalRef, e la prenotazione creata torna senza i
    dati dell'ospite. Altrove: 403 forbidden, details.reason publishable_key o
    origin_not_allowed.
servers:
  - url: https://app.gestionesala.com/api/v1
security: []
tags:
  - name: Meta
    description: Identità della chiave, stato del servizio e specifica OpenAPI
  - name: Locali
    description: Locali accessibili alla chiave e relativo `venueId`
  - name: Configurazione del locale
    description: Turni, chiusure, sale, tavoli, piante, regole e stato della sala
  - name: Disponibilità
    description: Disponibilità per orario, per giorno e su un intervallo di giorni
  - name: Prenotazioni
    description: Lettura, creazione, modifica e annullamento delle prenotazioni
  - name: Lista d'attesa
    description: Voci in attesa di un posto, richiamo e conversione in prenotazione
  - name: Ospiti
    description: Rubrica degli ospiti, ricerca per telefono e tag di servizio
  - name: Eventi e report
    description: Storico degli eventi, consuntivi ed export delle prenotazioni
  - name: Webhook
    description: >-
      Consegne, reinvio, evento di prova e rotazione del segreto di firma.
      Firma: X-Gestionesala-Signature = v1=HMAC-SHA256(segreto,
      "v1\n<timestamp>\n<idempotency-key>\n<corpo>"), con
      X-Gestionesala-Timestamp e X-Gestionesala-Idempotency-Key; in una
      rotazione due firme separate da virgola.
  - name: Import
    description: Import di ospiti e prenotazioni da un altro gestionale
paths:
  /openapi.json:
    get:
      tags:
        - Meta
      summary: Recupera la specifica OpenAPI
      description: >-
        Restituisce la specifica OpenAPI 3.1 di questa API. Non richiede
        autenticazione.
      operationId: getOpenApi
      responses:
        '200':
          description: OpenAPI 3.1
          content:
            application/json: {}
      security: []

````