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

# Crea Caricamento File

> Genera un URL pre-firmato per caricare un file JSON. Dopo il caricamento, devi chiamare l’[endpoint di completamento](/api-reference/files/complete) per finalizzare il caricamento.



## OpenAPI

````yaml it/openapi/files.json POST /v1/files
openapi: 3.0.3
info:
  title: API dei File
  version: 1.0.0
servers:
  - url: https://api.olostep.com
security: []
paths:
  /v1/files:
    post:
      summary: Crea Caricamento File
      description: >-
        Genera un URL pre-firmato per caricare un file JSON. Dopo il
        caricamento, devi chiamare l'endpoint di completamento per finalizzare
        il caricamento. L'URL di caricamento scade in 10 minuti.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                filename:
                  type: string
                  description: Il nome del file. Deve terminare con l'estensione .json.
                  pattern: \.json$
                purpose:
                  type: string
                  description: >-
                    Lo scopo del file. Valori supportati: 'context' o 'batch'.
                    Predefinito a 'context'.
                  enum:
                    - context
                    - batch
                  default: context
              required:
                - filename
      responses:
        '200':
          description: Risposta positiva con URL di caricamento.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: ID del File
                  object:
                    type: string
                    description: Il tipo di oggetto. "file.upload" per questo endpoint.
                  created:
                    type: integer
                    description: Timestamp epoch creato
                  upload_url:
                    type: string
                    format: uri
                    description: URL pre-firmato per caricare il file. Scade in 10 minuti.
                  expires_in:
                    type: integer
                    description: >-
                      Numero di secondi fino alla scadenza dell'URL di
                      caricamento (600 secondi = 10 minuti)
        '400':
          description: >-
            Richiesta errata. Nome del file mancante o tipo di file non valido
            (sono supportati solo file .json).
        '401':
          description: Chiave API non valida
        '500':
          description: Errore interno del server
      security:
        - Authorization: []
components:
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      description: >-
        Intestazione di autenticazione Bearer del tipo Bearer <token>, dove
        <token> è il tuo token di autenticazione.

````